为xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录
ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式。其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式登录到linux/unix的方法。
使用密钥登录分为3步:
1、生成密钥(公钥与私钥);
2、放置公钥(Public Key)到服务器~/.ssh/authorized_key文件中;
3、配置ssh客户端使用密钥登录。
一、生成密钥公钥(Public key)与私钥(Private Key)
打开Xshell,在菜单栏点击“tools”,在弹出的菜单中选择“新建用户密钥生成向导.”,如下图:
弹出对话框,在“密钥类型”项选择“RSA”公钥加密算法,“密钥长度”选择为“2048”位密钥长度,如下图:
点击下一步,生成密钥:
继续下一步,在“密钥名称”中输入Key的文件名称,我这里为“mykey”;在“密码”处输入一个密码用于加密私钥,并再次输入密码确认,如下图:
点击“下一步”,密钥生成完毕(Public key Format选择SSH2-OpenSSH格式),这里显示的是公钥,我们可以复制公钥然后再保存,也可以直接保存公钥到文件,如下图。私钥这里不显示,可以在“用户密钥管理者”导出到文件:
点击“保存为文件”按钮,将公钥(Public key)保存到磁盘,文件名为“mykey.pub”,备用。
二、上传公钥(Public Key)到服务器:
使用到Xshell登录到服务器,进入到“/root/.ssh/”目录,
如果没有.ssh目录,可以新建一个
mkdir .ssh
运行rz命令(如果没有rz命令,运行yum install lrzsz安装),将key.pub发送到服务器,然后运行如下命令,将公钥(Public Key)导入到“authorized_keys”文件:
[root@localhost ~]# cd /root/.ssh/
[root@localhost .ssh]# rz
rz waiting to receive.
[root@localhost .ssh]# cat mykey.pub >> authorized_keys
[root@localhost .ssh]# chmod 600 authorized_keys
[root@localhost .ssh]# ls
authorized_keys mykey.pub
[root@localhost .ssh]# cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApyZ/PYbWcOaRiTcDRmgUKoeVIIUcMu13zIFeErrbUbO9w7Yw9c6Y2gkU50PoEHchp5HUNq2UAuaNUuVhCz3gEdPHpH5A1ZjtXvPChjSJdJ4wka2uAoPPW+S30xZsaR8SLVKQBhIiNsc3IVnhVn5pwK4ROWuO0XBPWDOsf+QVZ24Mj21INW/D2ngbGZGv/1C43QLOF6F5K5s4q/Bn2Gf/MZohokgBeimMyiCKPobnX7Bg1/uViDe/lnSeCaOs/cNN/DpXf0POXlZKnvvRtJRl3noqWx3VIKstXvfsZ2DATMPcHetw772OSazYdiWrnbOhgSuihi0chFmOYusVMjSkNQ==
三、配置Xshell使用密钥认证方式登录到服务器:
打开Xshell,新一个连接,填写IP、端口等,如下图所示:
点击“用户身份验证”方法中选择"Public Key",用户名填写root 密钥选择刚才的mykey,密码输入生成mykey时所填写的密码,如下图:
点击确定,Xshell配置ssh免密码登录配置完成。