一、系统环境
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]# ssh -V
OpenSSH_8.6p1, OpenSSL 1.0.2k-fips 26 Jan 2017
二、服务端 开启RSA认证
配置/etc/ssh/sshd_config文件以下配置信息:
PubkeyAuthentication yes
PasswordAuthentication no
RSAAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
三、服务端生成密钥证书
- 依次输入以下命令
#ssh-keygen -b 1024 -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa): ***user1***
Enter passphrase (empty for no passphrase): **输入证书密码,如123123**
Enter same passphrase again: **再次输入密码123123**
【注意】
1)“user1” 为对应系统帐号名称,如 root、user1、user2等等,可根据实际需要,为对应的帐号生成相应的证书名称,如 私钥 user1,公钥user1.pub
2)某些新建帐号(如user2)在/home/user2/没有.ssh目录,则先使用user2帐号登录,然后执行 ssh localhost 完成本地登录后即可生成.ssh目录。
- 回车,即可生成证书公钥、密钥文件,文件默认放在/root/.ssh/目录
- 生成服务端认证密钥文件
把user1.pub公钥文件在对应用户目录***/home/user1/.ssh/***生成密钥文件
//生成认证密钥
#cat user1.pub >> /home/user1/.ssh/authorized_keys
//查看密钥存放目录
#ll /home/user1/.ssh/
//查看密钥文件内容
#cat /home/user1/.ssh/authorized_keys
// 文件及目录授权
#chmod 700 /home/user1/.ssh
#chmod 600 /home/user1/.ssh/authorized_keys
四、下载密钥文件在客户端
把/root/.ssh/user1 文件下载到客户端电脑上。
五、Xshell客户端连接配置
依次进行如下操作:
Xshell客户新建连接
点“连接”,填写服务器名称、协议(SSH)、主机IP、端口
点“用户身份验证”,方面(M)选择“Pulic Key”、用户名(U)“user1”、用户密钥 浏览->导入->选中第四步骤下载的私钥文件“user1”,弹窗输入密码“123123”,然后选择新导入的用户密钥user1,确定。
最后输入再次输入密钥证书密码,点“连接”接口连上服务器。