1.生成公钥(Pubic Key)与私钥(Private Key):
Xshell自带有用户密钥生成向导,如下图所示:点击菜单栏的工具->新建用户密钥生成向导
虽然SSH2协议中RSA和DSA算法都可以使用,但是为了保险起见,我们一般都选择RSA密钥类型,这样不论你使用的SSH协议是SSH1还是SSH2都可以使用;密钥长度1024位即
正在生成密钥,直接下一步即可
密钥名称可以随便填写,不过一般我们最好是默认名称_年月日,这样方便日后管理;一般不需要填写密钥密码,填写的话就是密钥加密码双重验证,更安全。
公钥格式默认的SSH-OpenSSH即可,这里点击保存为文件,选择一个路径
文件名默认即可
此时会弹出用户密钥的一个窗口,Xshell已经自动导入了刚才我生成的私钥,公钥已经被我保存在了桌面上(你刚才选择的文件路径)。
如果没有弹出上面的窗口,可以选择菜单栏的工具->用户密钥管理者,打开用户密钥这个窗口。
选中刚才生成的私钥,点击右侧的导出按钮,如果换电脑或者重装系统了,重新导入私钥即可。
如果你之前填写了密钥管理密码,这里会提示你输入密码。
2.添加公钥(Pubic Key)到远程Linux服务器;
用xftp上传id_rsa_1024_20140305.pub到用户home目录下的.ssh下(如果没有则创建此目录),并命名为:authorized_keys,再修改权限为600.
mkdir -p /root/.ssh mv /root/id_rsa_1024_20140305.pub /root/.ssh/authorized_keys chmod 600 /root/.ssh/authorized_keys
修改sshd_config配置文件
vim /etc/ssh/sshd_config
PubkeyAuthentication yes #启用公告密钥配对认证方式 AuthorizedKeysFile .ssh/authorized_keys #设定PublicKey文件路径 RSAAuthentication yes #允许RSA密钥 PasswordAuthentication no #禁止密码验证登录,如果启用的话,RSA认证登录就没有意义了
重新加载sshd服务: /etc/init.d/sshd restart
3.客户端载入私钥(Private Key)登录:
注:
私钥,在Xshell里也叫用户密钥
公钥,在Xshell里也叫主机密钥
“所选的用户密钥未在远程主机上注册。请再试一次。”在登陆是xshell报错,检查服务器的selinux及iptables是否开启。