Kyu96 Asked: 2019-09-25 07:33:40 +0800 CST2019-09-25 07:33:40 +0800 CST 2019-09-25 07:33:40 +0800 CST 通过 ssh 禁用密码登录的命令? 772 所以,我知道我可以通过修改为 .sh 来禁用密码/etc/ssh/sshd_config身份PasswordAuthentication Yes验证PasswordAuthentication no。我想确保 ssh 登录只能通过每个用户的密钥文件完成。 是否有一个很好的单行命令来设置此选项? ssh linux 1 个回答 Voted Best Answer bitinerant 2019-09-26T09:28:09+08:002019-09-26T09:28:09+08:00 我成功地测试了这个: sudo sed -E -i 's|^#?(PasswordAuthentication)\s.*|\1 no|' /etc/ssh/sshd_config if ! grep '^PasswordAuthentication\s' /etc/ssh/sshd_config; then echo 'PasswordAuthentication no' |sudo tee -a /etc/ssh/sshd_config; fi 这将用于sed就地编辑文件。除了用 替换后面的任何内容外PasswordAuthentication,no它还将删除行首的注释,这是 Ubuntu 默认情况下存在的。如果此命令第二次或第三次运行,则不会对文件进行额外更改。 第二行将配置选项添加到文件中,以防它以某种方式被删除。
我成功地测试了这个:
这将用于
sed
就地编辑文件。除了用 替换后面的任何内容外PasswordAuthentication
,no
它还将删除行首的注释,这是 Ubuntu 默认情况下存在的。如果此命令第二次或第三次运行,则不会对文件进行额外更改。第二行将配置选项添加到文件中,以防它以某种方式被删除。