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