设备:一台linux系统机器,一台windows系统机器
软件:xshell
要求:公钥免密登录
一、生成公钥、私钥
1、打开shell ; 点击工具 ; 新建用户生成密钥向导
2、生成密钥参数
密钥类型:RSA 密钥长度:2048 (都是默认) ; 点击下一步
3、生产公钥对
默认下一步
4、用户密钥信息
设置密钥名称,密码 ; 点击完成
5、公钥注册
公钥格式默认为SSH2-OpenSSH ; 保存公钥到桌面
文件名默认 文件类型:Public Key Files(*.pub) ; 点击保存
6、点击公钥 ; 导出私钥
文件名默认 文件类型:Private Keys ; 点击保存
输入密码 ; 确定
桌面查看公钥、私钥
二、配置Linux
1、查看有没有 /root/.ssh 文件夹,没有的话 mkdir -p /root/.ssh 创建文件夹
2、将公钥私钥导入linux 选择 .pub 把公钥拖过来
3、验证并重命名公钥
[root@localhost .ssh]# ls
id_rsa_2048_centos_7-1.pub
[root@localhost .ssh]# mv id_rsa_2048_centos_7-1.pub authorized_keys
[root@localhost .ssh]# ls
authorized_keys
4、修改 /etc/ssh/sshd_config 的配置文件,确保以下配置没有被注释
[root@localhost .ssh]# vim /etc/ssh/sshd_config
PasswordAuthentication no # 禁用密码验证,只允许其他认证方式(如公钥认证)
ChallengeResponseAuthentication no # 禁用质询响应认证机制
AuthorizedKeysFile .ssh/authorized_keys
# 指定存储用户公钥的文件路径,默认是用户家目录下的 .ssh/authorized_keysPubkeyAuthentication yes # 启用公钥认证
PermitRootLogin yes # 允许root用户通过SSH登录
Port 22 # 指定SSH服务监听的端口,默认是22
UsePAM yes # 启用PAM(可插入式认证模块)进行身份验证、账户处理和会话管理
X11Forwarding yes # 启用X11转发,允许通过SSH隧道传输X11(图形界面)连接
X11DisplayOffset 10 # 指定X11转发的显示偏移量,默认是10
X11UseLocalhost yes # 指定X11转发是否只绑定到本地回环接口
最后键入“Esc”键,然后输入:wq,按下回车进行保存
三、测试
1、新建会话,输入主机名和IP
2、用户身份验证 ; 选择 Public Key ; 点击确认
3、双击会话 ; 输入用户名 ; 点击确认
4、 点击Public Key ; 点击浏览 ; 选择文件
5、点击私钥,没有 .pub 的 ; 点击确认
6、输入密码 ; 记住密码 ; 点击确认
7、可以看到登陆成功
四、xshell公钥免密登录
双击会话直接免密登录