如何配置 Cygwin 以实现基于密钥的登录

如何配置 Cygwin 以实现基于密钥的登录

我已在 2012 服务器上成功安装了 Cygwin。

现在,我想启用基于密钥的登录。

我对此进行了大量搜索(我不是 Linux 专家),我发现的所有内容都围绕着将密钥添加到 /.ssh/authorized_keys 文件。

问题是我找不到 .ssh 文件夹来创建文件并向其中添加密钥。

有些帖子建议通过执行来检查 home 变量是否定义

echo $HOME

命令,看看它是否会输出任何东西。

输出是

$ echo $HOME
/home/admin

我已经拥有从客户端计算机生成的密钥。我只想知道将其放在哪里。

我已经发现这个问题但我无法从中得到具体的步骤。

谢谢

答案1

最简单的方法是运行ssh-copy-id user@host,它会将你的公钥复制到正确的位置host

手动复制经常会导致访问权限问题。

答案2

对于没有安装“ssh-copy-id”的用户,或者由于某种原因暂时无法安装的用户,以下 Bash 单行命令始终是一个有效的替代方案:

$ PUB="$(cat ~/.ssh/id_rsa.pub)"; ssh user@host "mkdir -p ~/.ssh; echo $PUB >> ~/.ssh/authorized_keys; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys"

远程主机上的波浪号斜线 (~/) 可能不需要,但我还是将其包括在内以防万一,以避免任何奇怪和/或不可预见的情况。

相关内容