重新启动后未保存 ssh 密钥 OSX
ssh-keys not being saved after reboot OSX
每次我登录到mi用户和运行 ssh-add -l
它returns The agent has no identities.
所以我不得不将这一行添加到 mi fish.config 文件中:
ssh-add ~/.ssh/id_one and ssh-add ~/.ssh/id_two > /dev/null ^ /dev/null
我知道它有效,但我想先评估它们是否已添加到代理中,以防止每次我打开终端选项卡时此行 运行。
PD:如果有不同的方法让它们始终保持在 ssh 代理上,我会很高兴知道,已经尝试使用 -K 选项添加它们并添加
IdentityFile ~/.ssh/id_one
IdentityFile ~/.ssh/id_two
我的 ~/.ssh/config
和 ~/.ssh/ssh_config
没有结果。
首先要指出的是你的命令
ssh-add ~/.ssh/id_one and ssh-add ~/.ssh/id_two > /dev/null ^ /dev/null
并不像您认为的那样。 fish and
命令在语法上与 &&
不同。这是一个命令。这意味着它必须跟在 semi-colon 之后或者是一行中的第一个单词。所以应该是
ssh-add ~/.ssh/id_one; and ssh-add ~/.ssh/id_two > /dev/null ^ /dev/null
此外,在这种情况下丢弃 stderr 是有风险的。如果您不这样做,您会注意到该命令没有按照您的想法执行。只有当您知道该命令会发出您知道可以安全忽略的错误消息时,您才应该丢弃 stderr。
最简单、便携的方法是简单地测试其中一个 ID 是否已经在 ssh 代理中注册:
if status is-login
if not ssh-add -l | grep -q $HOME/.ssh/id_one
ssh-add ~/.ssh/id_one ~/.ssh/id_two
end
end
每次我登录到mi用户和运行 ssh-add -l
它returns The agent has no identities.
所以我不得不将这一行添加到 mi fish.config 文件中:
ssh-add ~/.ssh/id_one and ssh-add ~/.ssh/id_two > /dev/null ^ /dev/null
我知道它有效,但我想先评估它们是否已添加到代理中,以防止每次我打开终端选项卡时此行 运行。
PD:如果有不同的方法让它们始终保持在 ssh 代理上,我会很高兴知道,已经尝试使用 -K 选项添加它们并添加
IdentityFile ~/.ssh/id_one
IdentityFile ~/.ssh/id_two
我的 ~/.ssh/config
和 ~/.ssh/ssh_config
没有结果。
首先要指出的是你的命令
ssh-add ~/.ssh/id_one and ssh-add ~/.ssh/id_two > /dev/null ^ /dev/null
并不像您认为的那样。 fish and
命令在语法上与 &&
不同。这是一个命令。这意味着它必须跟在 semi-colon 之后或者是一行中的第一个单词。所以应该是
ssh-add ~/.ssh/id_one; and ssh-add ~/.ssh/id_two > /dev/null ^ /dev/null
此外,在这种情况下丢弃 stderr 是有风险的。如果您不这样做,您会注意到该命令没有按照您的想法执行。只有当您知道该命令会发出您知道可以安全忽略的错误消息时,您才应该丢弃 stderr。
最简单、便携的方法是简单地测试其中一个 ID 是否已经在 ssh 代理中注册:
if status is-login
if not ssh-add -l | grep -q $HOME/.ssh/id_one
ssh-add ~/.ssh/id_one ~/.ssh/id_two
end
end