如何使用 SSH 密钥从服务器建立与 github 的永久连接?

How could I setup a permanent connection to github from server with SSH key?

我按照 https://help.github.com/articles/generating-ssh-keys/ 中的指南生成了一个用于从我的服务器连接到 github 的 ssh 密钥。

问题是如果我关闭shell并重新登录服务器,我必须重复以下步骤重新连接到github,否则访问将被拒绝:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

如何与 github 建立永久连接?

由于您正在登录到命令行(可能使用 SSH),因此您 运行 的所有应用程序,包括 ssh-agent,在您注销时停止。

在我看来,你最好的办法是让你的 CentOS 机器在你每次登录时为你启动 ssh-agent,然后手动使用 ssh-add 添加你的密钥。这可以通过修改 shell 的登录脚本来完成。如果您使用 bash,则此文件名为 ~/.bash_profile。如果您使用的是另一个 shell,请参阅其文档并选择合适的文件。

编辑其中一个文件并在末尾添加 eval "$(ssh-agent -s)"

现在,每次登录时 ssh-agent 应该会自动启动,您可以选择 运行 ssh-add(因为您正在使用 ssh-add 查找的文件默认情况下,您不需要将文件传递给命令)来添加密钥,然后执行 Git 操作。

听起来你也想自动添加密钥。这不是我会选择做的事情,因为我喜欢显式添加密钥,但是因为你的 SSH 密钥上没有密码,你应该能够将 ssh-add 添加到我们修改的同一文件中上面(当然是在我们启动代理之后)并自动添加您的密钥。