在实际的产品服务发布环境中,Linux服务器通常禁止使用远程ROOT账户登录,仅仅允许最小权限的远程账户使用SSH登录后,再切换账户达到管理服务器的目的。下面我们就总结一下如何创建安全的SSH登录账户。
【运行环境】
CentOS,OpenSSH
1.在客户端生成证书秘钥对,生成的文件默认存在~/.ssh/目录下,包括id_rsa与id_rsa.pub两个文件。
ssh_keygen
2.从~/.ssh/目录下,拷贝id_ras.pub文件内容到服务器端登录账户下~/.ssh/authorized_keys文件中。这样就可以从客户端直接使用证书登录远程服务器了。
cat ~/.ssh/id_rsa.pub | ssh serveruser@servername 'cat >> .ssh/authorized_keys'
3.配置OpenSSH服务器,禁止使用密码登录。在服务器端编辑/etc/ssh/sshd_config文件,将PasswordAuthentication设定为no,默认为yes.
-PasswordAuthentication yes +PasswordAuthentication no
禁用challenge-response。因为如果使用了PAM的challenge-resp