CentOS 7 SSH使用证书登录

客户端建立私钥和公钥
在客户端终端运行命令
ssh-keygen -t rsa


ssh服务端配置
vi /etc/ssh/sshd_config
# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no
# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys


把客户端的公钥添加到服务器的authorized_keys
vi ~/.ssh/id_rsa.pub
复制到服务器上的
/home/username/.ssh/authorized_keys
文件中


服务端重启sshd
systemctl restart sshd


客户端通过私钥登录ssh服务器
ssh -i ~/.ssh/id_rsa name@


每次敲命令,都要指定私钥,是一个很繁琐的事情,所以我们可以把私钥的路径加入ssh客户端的默认配置里
vi /etc/ssh/ssh_config
#其实默认id_rsa就已经加入私钥的路径了,这里只是示例而已
IdentityFile ~/.ssh/id_rsa
#如果有其他的私钥,还要再加入其他私钥的路径
IdentityFile ~/.ssh/blue_rsa

发表评论

电子邮件地址不会被公开。 必填项已用*标注

17 + 11 =