-
登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录
-
创建钥匙,
[xun@jzlinux ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/xun/.ssh/id_rsa):
/home/xun/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/xun/.ssh/id_rsa.
Your public key has been saved in /home/xun/.ssh/id_rsa.pub.
The key fingerprint is:
bb:0c:b3:05:0d:4c:22:46:1e:b9:a4:d5:dc:f4:0a:c3 xun@jzlinux
The key's randomart image is:
+--[ RSA 2048]----+
| .=+.oo |
| o++o+.. |
| +..E o . |
|. . o + |
| o S |
| . . |
| o o |
| * . |
| . o |
+-----------------+
[xun@jzlinux ~]$
按照流程走完后会在 ~/.ssh目录下(账户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件 第一个是私有密钥 第二个是拥有密钥
-
服务器配置
输入命令:vim /etc/ssh/sshd_config
#禁用root账户登录,如果是用root用户登录请开启
PermitRootLogin yes
# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no
# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no
-
还记得 sshd_config 里面谈到的 AuthorizedKeysFile 这个设定值吧?该设定值就是在指定公钥数据应该要放置的文件名啰!所以,我们必须要到服务器端的 家目录下, 将 id_rsa.pub 数据附加到 authorized_keys 这个档案内才行,这里如果提示权限不够,可以换root账户操作
-
重启ssh服务,输入命令:
/bin/systemctl start sshd.service
-
把id_sra私钥下载客户端,使用xshell 5登陆,导入私钥就可以了
END