Windows 免密码 ssh 登录 Linux
本文将介绍如何在 Windows 配置 SSH 免密登陆 Linux。
生成密钥对
打开 cmd 或者
Powershell,按下列步骤操作:
| 1 | # 这条命令用于生成密钥 | 
将公钥添加到 Linux 账户
打开 Powershell,执行下列命令:
Powershell:
| 1 | Get-Content ~\.ssh\id_rsa.pub | ssh -p 22 username@host "cat >> ~/.ssh/authorized_keys" | 
-p 22为默认值,可省略
验证是否添加成功
cmd 下输入 ssh username@host uname 如果看到输出Linux
表示添加成功。
同样可以直接输入 ssh username@host
这时可以看到不用输入密码即可登录 Linux 了。
依然无法免密码登录
添加key之后还是需要输入密码,主要排查方法是
ssh username@host -vvv 输出debug信息,或者remote机器使用
cat /var/log/secure 查看日志
可能的原因是:
- 目录权限问题 - 远程目录.ssh 和.ssh 目录下的文件的权限需要分别设置700和600 
- 找不到密钥 - ssh登录命令添加参数 - -i C:\User\name\.ssh\id_rsa手动指定密钥文件
Linux 中密钥登录 Linux
在 Linux 中,可以使用如下命令实现:
| 1 | # 生成密钥,若存在,可跳过 | 
参考
本文参考以下文章,在此致以诚挚谢意!