在启动时添加 SSH 密钥

sam*_*les 1 ssh git key-authentication rc

我有一个使用 SSH 密钥进行身份验证的 Git 存储库 - 密钥不是标准的id_rsa。

我可以跑:

eval $(ssh-agent -s)
ssh-add /home/forge/.ssh/otherkey
Run Code Online (Sandbox Code Playgroud)

然后

git pull origin master
Run Code Online (Sandbox Code Playgroud)

这是有效的。

服务器需要在启动时执行 git pull。

所以我有代码rc.local可以拉出repo,它仅在密钥为默认值时才起作用,而在密钥id_rsa不同时则不起作用。

如果我将它添加到 bashrc 中,那么它会在我登录时添加密钥并工作,但不会立即从启动中添加。

如何为 git 添加一个替代 id_rsa 的 SSH 密钥,它可以在我的 git pull 命令之前实例化rc.local?

谢谢

Shm*_*uel 7

您可以使用 ssh 配置添加 ssh 密钥文件。

这是所有用户的默认值/etc/ssh/ssh_config
这是当前用户的默认值~/.ssh/config

每个主机的当前用户 ssh 配置示例:

## Home nas server ##
Host nas01
     HostName 192.168.1.100
     User root
     IdentityFile ~/.ssh/nas01.key

## Login AWS Cloud ##
Host aws.apache
     HostName 1.2.3.4
     User wwwdata
     IdentityFile ~/.ssh/aws.apache.key
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读更多