使用密钥加强SSH安全性

简介

SSH 验证身份有两种方式:密码和密钥,前者不安全,可能会被爆破,而且不便捷,每次登陆时都需要输入密码。因此,我们可以使用密钥登陆,安全便捷。

本地

首先在本地创建公私钥:

ssh-keygen

按提示操作保存证书,可以给私钥设定密码,也可回车跳过,创建完成后会得到公钥id_rsa.pub和私钥id_rsa

远程

scp ~/.ssh/id_rsa.pub user@server:/home/user/

id_rsa.pub上传至服务器(通过 SCP,SFTP 等)。

cat id_rsa.pub > ~/.ssh/authorized_keys

然后将公钥加入信任列表,

chmod 600 authorized_keys
chmod 700 ~/.ssh

确保文件权现正确。

PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

编辑配置文件/etc/ssh/sshd_config,加入或修改以上几行。

service ssh restart
service sshd restart

重启SSH服务,并尝试登陆,若无需输入密码直接登陆则说明配置成功。

附加

除了更改为密钥登陆,SSH端口的设置也影响到安全性,使用默认的22端口会极大增加被爆破的可能性。

Port 8789

建议修改/etc/ssh/sshd_config中端口至非22。


添加新评论