我正在尝试在服务器部署中尽可能自动化,总体目标是以用户身份登录,上传bashscript并让我配置我的服务器如何配置它。
要开始我尝试禁用root登录,我知道我必须将/etc/ssh/sshd_config
修改为PermitRootLogin no
我想知道是否有办法通过bash脚本执行此操作?
答案 0 :(得分:3)
如果您只想将文字附加到 sshd_config 文件,则可以使用printf
,如下所示:
printf '\n%s\n' 'PermitRootLogin no' >>/etc/ssh/sshd_config
或者如果您想要更改已设置了值的文件,但又要将其设置为否,则可以使用sed
,如下所示:
sed -i '/^PermitRootLogin[ \t]\+\w\+$/{ s//PermitRootLogin no/g; }' /etc/ssh/sshd_config
答案 1 :(得分:1)
如果您是部署服务器,则应使用此工具。我提醒你“Ansible”。它会更容易(也更“优雅”)。
在这里,您有一个关于如何使用Ansible http://ryaneschinger.com/blog/securing-a-server-with-ansible/
禁用root登录的教程我希望我的回答能帮到你!