linux - 如何将 ssh key 添加到远程服务器?

标签 linux ssh ssh-keys

在我的 VPS 中,运行 ssh-add -l 并返回:The agent has no identities. 但我已经运行了 cat ~/.ssh/id_rsa.pub | ssh user@hostname 'cat >> .ssh/authorized_keys' 之前

然后我运行 ssh-add ~/.ssh/authorized_keys 它返回 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@ @ 警告:未保护的私钥文件! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ “/home/deployer/.ssh/authorized_keys”的权限 0644 过于开放。 建议您的私钥文件不能被其他人访问。 此私钥将被忽略。

ssh git@github.com 仍然得到报告Permission denied (publickey).

最佳答案

目前投票最多的答案显然是错误的,因为它无法理解问题。 OP 询问如何在远程服务器上授权 key ,而不是如何将 key 添加到本地 ssh-agent。

要将 key 添加到远程服务器,请使用 ssh-copy-id来自本地 PC 的命令:

ssh-copy-id -i path/to/key.pub username@remoteHost

这会将位于 path/to/key.pub 的公钥添加到位于 remoteHost 的服务器,使用 username 作为登录名。请注意,这似乎还需要公钥旁边的私钥(本例中的 path/to/key 文件)。

关于linux - 如何将 ssh key 添加到远程服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18690691/

相关文章:

c# - Linux 聊天服务器与 C#

c# - 将 C# 应用程序日志发送到 Linux Syslog 服务器

git clone 要求输入密码(多个用户)

security - 在使用 key 的 SSH 身份验证期间,中间人攻击是否构成安全威胁?

git - 每次使用 git 存储库进行推送/pull 时,SSH 公钥都需要相同吗?

powershell - 如何在不输入 y 的情况下使用 ssh-keygen 和 PowerShell 覆盖现有的 SSH key 文件

c - 如何通过 dockerfile 禁用 linux 空间随机化?

c - 如何在 Linux 中获取 NIC RX 环数

vim - 从 Mac OS X 通过 SSH 突出显示 PHP 语法

git - 将 TortoiseGit 与多个 GitLab 帐户一起使用