相关疑难解决方法(0)

ssh-add 在重启之间不是持久的

我通过以下方式向代理添加了 ssh 密钥:

$ ssh-add ~/.ssh/id_rsa_mac
Identity added: /Users/alex/.ssh/id_rsa_mac (/Users/alex/.ssh/id_rsa_mac)
Run Code Online (Sandbox Code Playgroud)

重新启动后,代理不再添加此密钥:

$ ssh-add -l
The agent has no identities.
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

osx ssh ssh-agent

181
推荐指数
5
解决办法
12万
查看次数

如何让 ssh-agent 在所有终端中工作?

我已经使用 ssh-copy-id 设置了自动(无密码)ssh 登录到某些服务器。ssh-agent只能在运行它的终端上工作。我如何在我的ssh-add所有终端中工作?

当然,我不喜欢没有密码短语的 SSH 密钥。

ssh ssh-agent

46
推荐指数
2
解决办法
2万
查看次数

避免单独向 shell 会话添加 ssh 密钥(带密码)

注意:在.<name of shell>rcssh 中添加几行并不能解决这里的问题,因为这个特定的 ssh 密钥有一个密码,并且不会消除继续输入它的需要。

所以我真的不明白ssh-agent引擎盖下是如何工作的。我只是使用ssh-agentssh-add ~/.ssh/id_rsa每次我需要添加一个密钥来访问一些远程资源。我已经添加了一次密钥,我不需要为同一个“shell 会话”再次添加它(“shell 会话”可能不是合适的行话)。

不幸的是,我一直在创建新的 shell 会话。我在 OS X 上的 tmux 下运行 zsh 并且有一个创造性地命名为id_rsa. 该 ssh 密钥具有与之关联的密码。

每次我启动一个新的 shell 时,我都必须执行以下操作

$ eval `ssh-agent`
$ ssh-add ~/.ssh/id_rsa
<type password>
Run Code Online (Sandbox Code Playgroud)

这真的很烦人。

我注意到在输出ssh-agentSSH_AGENT_PID环境变量每次都是不同的。我的预感是这个环境变量SSH_AUTH_SOCK是不需要在单个 shell 会话中重新添加密钥的原因。当我调用该ssh程序时,它将使用这些环境变量与 进行通信ssh-agent并且身份验证将成功。

我想知道是否有一种ssh-agent在会话之间共享s的方法。也许正确的做法是在开始前就加我的SSH密钥tmux和配置tmux以保护SSH_AUTH_SOCKSSH_AGENT_PID环境变量。我真的不确定。解决这个问题的标准方法是什么?

tmux ssh-agent

12
推荐指数
2
解决办法
3198
查看次数

标签 统计

ssh-agent ×3

ssh ×2

osx ×1

tmux ×1