环境
centos6
工具
xshell + puttygen + Putty
开始
一、生成密钥
首先使用xshell通过密码正常登录服务器
获得公钥和私钥(-P '' 的作用是默认密钥密码为空)
ssh-keygen -t rsa -P ''
一路回车,成功后如下图,默认存放路径为 /root/.ssh
二、配置公钥
需要生成名为 authorized_keys 的文件
1.直接执行
cat ~/.ssh/id_rsa.pub >> authorized_keys
2.如果不记得这个文件名怎么写可以执行如下,得到文件
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 10022 root@ip"
三、设置文件及文件夹权限
chmod 600 authorized_keys
chmod 600 ~/.ssh
四、修改/etc/ssh/sshd_config中一些权限
#允许root用户通过ssh登录
PermitRootLogin yes
#rsa身份验证
RSAAuthentication yes
#启用公钥认证机制
PubkeyAuthentication yes
#身份验证密钥文件
AuthorizedKeysFile ~/.ssh/authorized_keys
#允许空密码
PermitEmptyPasswords yes
重启sshd
service sshd restart
五、验证是否可免密登录
将id_rsa文件复制到本地
1.打开puttygen,点击load选择私钥文件
要选择All Files(*.*)才能出现id_rsa文件,选择文件 打开
点击Save private key,出现.ppk文件
2.打开PuTTY
选择Connection->Data,输入用户名
选择Connection->SSH->Auth,添加生成的.ppk文件
回到Session,点击save,点击Open;
出现如图提示则免密登录成功
如果提示 Server refused our key
则需要关注authorized_keys和/root/.ssh的权限和/etc/ssh/sshd_config配置信息是否正确。
六、XShell免密登录
新建会话输入ip端口
点击用户身份验证:方法 Public Key
用户名 root
用户密钥 选择id_rsa文件
点击连接。
所有步骤都已经完成,如果还有问题只能根据百度查问题了ヾ( ̄▽ ̄)Bye~Bye~