CentOS7.5下SSH使用密钥登录
在平时,我们用linux SSH的登录方式是用户名加密码的方式,这种方式相对来说安全性不是很好.今天就来部署密钥登录这种相对安全性更好一点的方式.
1.使用ssh-keygen命令生成密钥对
[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): ##输入密码或者回车
Enter same passphrase again: ##重复密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AnQLEK8mAe5DPClhIn9NXs/LihsETuqjoNQcwQp6OGo root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|= +=. |
|oo+..o |
|.o+o=. |
| =o=.+. . |
|..O + ES |
| * * o |
|o & = o |
|.*.@ o |
|..*=o |
+----[SHA256]-----+
生成的密钥在用户目录下的".ssh"目录中
id_rsa是私钥
id_rsa.pub是公钥
2.将公钥加到authorized_keys文件中
[root@localhost ~]# cat id_rsa.pub >> authorized_keys
[root@localhost ~]# chmod 600 authorized_keys
3.下载私钥
1.使用WinSCP下载
这个不用说
2.如果用的Xshell还可以用lrzsz命令下载
[root@localhost ~]# sz id_rsa
正常情况会弹出一个窗口
如果提示找不到命令
[root@localhost ~]# yum install -y lrzsz
4.修改ssh配置文件
[root@localhost ~]# vim /etc/ssh/sshd_config
找到几个选项修改成如下(密码登录可不禁止)
#禁止使用密码登录
PasswordAuthentication no
#允许root认证登录
PermitRootLogin yes
#允许密钥认证
PubkeyAuthentication yes
保存
5.重启ssh
[root@localhost ~]# service sshd restart
最后就可以断开再用下载下来的密钥连接试试了