配置SSH密钥登录CentOS

in Tutorials with 0 comment

配置SSH密钥大概只有两步工作,分别是生成密钥对和修改SSH配置

生成密钥对

进入当前用户目录,一般root用户只需要这样即可

cd ~

创建.ssh目录并设置权限

mkdir -p .ssh
chmod 700 .ssh

进入 .ssh 目录和生成密钥对

cd .ssh
ssh-keygen

然后,一路回车即可

Warning:同样,你也可以使用不同于上文上文RSA加密方法 ssh-keygen -t [rsa1|rsa|dsa] 三种加密方法任选你所需要的。但是需要注意你使用的SSH协议版本,SSH1协议中只能使用rsa1,SSH2协议中RSA和DSA方法都能使用。ssh-keygen命令的详细参数说明,可以使用谷歌查询到,这里使用默认的方式

密钥文件按照默认方式,在主目录/root下的隐藏目录.ssh中生成,分别为id_rsa和id_rsa.pub,其中

接着生成密钥认证文件

touch authorized_keys
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

至此,你的第一部分已经完成了,你所做的需要将你的密钥文件id_rsa妥善保存在你的本地电脑,并将服务器上生成的密钥文件id_rsa删除

修改SSH配置

使用root登录修改配置文件:/etc/ssh/sshd_config

vi /etc/ssh/sshd_config

将下面的内容的前面的 # 去掉

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

然后,修改下面的内容的 yesno

PasswordAuthentication yes

最后修改后效果为

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
···
PasswordAuthentication no

最后重启SSH服务

CentOS 6.x:

service sshd restart

CentOS 7.x:

systemctl restart sshd

还记得前面的你所保留的密钥文件id_rsa吗?用各种SSH登录软件去使用吧,例如:Xshell或Putty,详情请参考你所使用的软件的教程或说明书

Responses