Centos7 密钥登录

创建密钥文件

1
ssh-keygen -t rsa

传输密钥文件

使用命令

1
ssh-copy-id -i LocalRoche.pub root@192.168.15.112

或者直接讲 LocalRoche.pub文件放置于/root/.ssh/目录下的id_rsa.pub文件中,如果该文件中已经存在其他用户公钥,只要追加即可。

1
2
3
cat >>/root/.ssh/id_rsa.pub<<EOF
公钥内容
EOF

修改sshd配置文件

通过命令已经将公钥文件传递到Linux,之后,则需要修改ssh server的配置文件。配置文件位置在于/etc/ssh/sshd_config,需要修改文件内的以下几行内容。

1
2
3
PubkeyAuthentication yes # 开启密钥登入的认证方式
PermitRootLogin yes #此处请留意 root 用户能否通过 SSH 登录,默认为yes:
PasswordAuthentication yes #当我们完成全部设置并以密钥方式登录成功后,可以禁用密码登录。这里我们先不禁用,先允许密码登陆

PS:关键修改参数一些说明(安全等级更高):

#禁用root账户登录,非必要,但为了安全性,请配置
PermitRootLogin no

# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no

# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no

重启sshd服务

1
service sshd restart  #最后,重启 SSH 服务:

查看sshd状态是否正常

1
service sshd status