ssh - 如何生成无需密码即可登录服务器的 ssh key

标签 ssh key ssh-keys

我使用了亚马逊AWS上的服务器,他们向我发送了一个公钥.pem文件,当我通过ssh登录时,我所要做的就是:

ssh -i key.pem user@server

我现在拥有一台自己的服务器,并且正在尝试弄清楚如何使用我的服务器执行此操作,以便我可以通过 ssh 自动向我的服务器发出命令。

我想我需要在我的服务器上生成此 key 并将其复制到我的客户端计算机。我如何生成这个 key ?

最佳答案

在您想要登录的客户端计算机上,运行ssh-keygen。对于快速简便的按键,只需在所有问题上按 Enter 键即可。这将在 ~/.ssh 中创建 key 对。具体来说, ~/.ssh/id_rsa 是您的私钥(请妥善保管),而 ~/.ssh/id_rsa.pub 是您的公钥(可以分发)。

将您的公钥 (~/.ssh/id_rsa.pub) 复制到您想要登录的服务器上(例如 scp ~/.ssh/id_rsa.pub me@myserver :。在服务器上,运行cat id_rsa.pub >> .ssh/authorized_keys。要确保其具有正确的权限,您可以运行chmod 644 ~/。 ssh/authorized_keys。此外,您现在可以删除复制的 id_rsa.pub 文件。

就是这样!您应该从客户端到服务器进行无密码登录。如果您希望从服务器到客户端进行无密码登录,则必须在交换客户端和服务器的情况下重复此过程。

注释:

  1. 如果您的服务器上不存在 ~/.ssh 目录,则创建该目录的最佳方法是从服务器通过 ssh 连接到其他计算机(例如客户端)。这将确保它具有正确的权限。
  2. 如果您担心有人访问客户端,您可以使用密码保护 key (运行 ssh-keygen 时的提示之一),但随后您必须每次都输入该密码登录时。解决此问题的方法是使用 ssh-agent。

关于ssh - 如何生成无需密码即可登录服务器的 ssh key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12170895/

相关文章:

linux - 使用 bash 在本地服务器和远程 ssh 服务器中启动和停止 "tail -f"

linux - SSH - 帮助理解代理命令

windows - 使用公钥身份验证为 Windows 设置 OpenSSH

MySQL 删除外键太慢?

javascript - 如何访问 javascript 对象数组中的 String 键?

Python 元组作为键慢?

python - 我可以将 ssh/scp 与存储在数据库中的私钥一起使用吗?

php - 如何通过 PhpStorm 在 Vagrant 实例上运行应用程序?

mysql - SSH端口映射访问远程数据库

asp.net - 基于浏览器(免费使用)的 SSH