Putty WinScp 免密登录远程 Linux
1 | https://www.cnblogs.com/0820LL/p/10996437.html |
该方法的原理是预先生成一对公钥和私钥,私钥以文件的形式保存在本地,公钥保存在远程机器上。这样每次登录只需指定私钥文件,远程机器通过比对公钥和私钥来验证登录的合法性
Putty 免密登录
1. 生成公钥/私钥对
使用 putty 安装目录中的 puttygen.exe 工具
点击 generate –> 随意移动鼠标来生成秘钥 –>将公钥部分复制备用 –> 点击 Save private key
运行 puttygen.exe, 点击 Generate, 如下图
然后,在空白区随意移动鼠标,puttygen.exe 会根据鼠标移动生成随机数,用来生成 RSA 公私钥
这边一定要记得填自已的用户名:
2. 将公钥添加到远程机器的 ~/.ssh/authorized_keys 文件 (追加到文件末尾即可)
修改目录(700)和文件(600)的权限
1 2 | chmod 777 /root/.ssh/authorized_keys //修改权限,否则你改不了 vi /root/.ssh/authorized_keys //加入公钥 |
1 2 | chmod 700 /root/.ssh //权限改回来,否则会报错 chmod 600 /root/.ssh/authorized_keys //权限改回来,否则会报错 |
3. 登录时指定私钥文件
Putty→会话: 将服务器IP填好
Putty→连接→数据:填好自动登陆用户名
Putty→连接→SSH→认证:选择认证私钥文件(保存的密钥文件)
回到Putty→会话:保存的会话
4. WinScp 免密登录
这里 WinScp 使用 putty 生成的公钥和私钥
打开 WinScp –> 新建站点 –> 协议选择 SCP –> 填写远程机器IP 端口 登录用户名 –> 选择高级 –> 在 SSH 验证中指定putty生成的私钥文件 –> 保存
5. ssh私钥登陆提示Server refused our key问的解决办法
因为 /root/ 下的文件只有root账号才能进,别的账号就算提升为超级管理员也进不了,verxxxxxx 就进不了.
=======================================================================================
下面这些都不需要
1 | vi /etc/ssh/sshd_config |
1 2 | RSAAuthentication yes PubkeyAuthentication yes |