*错误权限被拒绝(公钥)* Windows 10 Powershell 是否支持使用 Ubuntu 20.04 的 OpenSSH 公钥

*错误权限被拒绝(公钥)* Windows 10 Powershell 是否支持使用 Ubuntu 20.04 的 OpenSSH 公钥

是的,我知道这是一个 Ubuntu 论坛。首先感谢您所做的一切并帮助别人!

好吧,我一直在尝试在我的 Ubuntu 20.04 上设置 SSH 密钥,在线阅读有关它的内容。所以我用 在 ubuntu 上生成了密钥ssh-keygen -t rsa。现在我只希望我的 Windows PC 通过 Windows Powershell 连接到它(显然不需要启用密码)。

因此,我将我的公钥文件复制到我的 Windows 电脑并将其输入,C:\Users\Username\.ssh\但不知何故,在连接时我收到Error Permission denied (publickey)错误。

因此,据称网上的一些“聪明”人都建议添加此设置PasswordAuthentication yes/etc/ssh/sshd_config但这是否违背了专门使用 SSH 密钥连接到服务器的目的?

所以如果我猜测这一定是一个目录权限问题,但我不知道在 Ubuntu 和 Windows 上哪些目录需要什么权限。

我已经摆弄这个问题很长一段时间了,但是反复试验需要花费太多时间,而我却没有足够的时间,所以如果有人可以提供他们来之不易的经验,那就太好了。

提前感谢兄弟们!让社区继续活跃起来。

格茨

墨西哥菜

答案1

好吧,正如@muru 所说,这样做:

  1. ssh-keygen -t rsa在远程(连接到服务器的设备)上执行并使用密码
  2. 查找id_rsa.pub文件C:\Users\Username\.ssh\
  3. 使用 ftp 将其上传到您的服务器(或上传到网络服务器并使用 wget)
  4. 保存在~/.ssh
  5. 确保文件名为 authorized_keys,否则它将无法工作sudo cp id_rsa.pub authorized_keys
  6. 删除下载的未使用文件sudo rm id_rsa.pub
  7. 禁用密码登录sudo nano /etc/ssh/sshd_config
  8. 查找或添加行PasswordAuthentication no
  9. 重启 ssh 服务sudo service sshd restart
  10. 使用 Powershell 连接ssh [email protected]
  11. powershell 中 ssh 命令的可选参数是自定义端口-p [port]和调试信息使用-vvv
  12. 我添加的一些其他可选安全设置/etc/ssh/sshd_config包括:

Port [port]

Protocol 2

LogLevel VERBOSE

PermitRootLogin no

StrictModes yes

RSAAuthentication yes

IgnoreRhosts yes

RhostsAuthentication no

RhostsRSAAuthentication no

PermitEmptyPasswords no

PasswordAuthentication no

ClientAliveInterval 300

ClientAliveCountMax 0

AllowTcpForwarding no

X11Forwarding no

UseDNS no

相关内容