1.生成公钥(Pubic Key)与私钥(Private Key):
python
Xshell自带有用户密钥生成向导,以下图所示:点击菜单栏的工具->新建用户密钥生成向导
linux
虽然SSH2协议中RSA和DSA算法均可以使用,可是为了保险起见,咱们通常都选择RSA密钥类型,这样不论你使用的SSH协议是SSH1仍是SSH2均可以使用;密钥长度1024位即算法
正在生成密钥,直接下一步便可shell
密钥名称能够随便填写,不过通常咱们最好是默认名称_年月日,这样方便往后管理;通常不须要填写密钥密码,填写的话就是密钥加密码双重验证,更安全。vim
公钥格式默认的SSH-OpenSSH便可,这里点击保存为文件,选择一个路径安全
文件名默认便可
服务器
此时会弹出用户密钥的一个窗口,Xshell已经自动导入了刚才我生成的私钥,公钥已经被我保存在了桌面上(你刚才选择的文件路径)。ssh
若是没有弹出上面的窗口,能够选择菜单栏的工具->用户密钥管理者,打开用户密钥这个窗口。ide
选中刚才生成的私钥,点击右侧的导出按钮,若是换电脑或者重装系统了,从新导入私钥便可。
工具
若是你以前填写了密钥管理密码,这里会提示你输入密码。
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是否开启。