cygwin 下的 ssh-add

sam*_*pot 3 cygwin ssh-agent

我在 cygwin 下使用 ssh-agent 时遇到问题。疯狂的部分是它正在工作,但有一天重启后停止了。下面是一个例子:

sthomas@sthomas-tcg ~
$ keychain ~/.ssh/id_rsa

KeyChain 2.6.8; http://www.gentoo.org/proj/en/keychain/
Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL

 * Initializing /home/sthomas/.keychain/sthomas-tcg-sh file...
 * Initializing /home/sthomas/.keychain/sthomas-tcg-csh file...
 * Initializing /home/sthomas/.keychain/sthomas-tcg-fish file...
 * Starting ssh-agent
 * Adding 1 ssh key(s)...
Enter passphrase for /home/sthomas/.ssh/id_rsa:
Identity added: /home/sthomas/.ssh/id_rsa (/home/sthomas/.ssh/id_rsa)


sthomas@sthomas-tcg ~
$ ssh-add
Could not open a connection to your authentication agent.

sthomas@sthomas-tcg ~
$ ssh stage
Enter passphrase for key '/home/sthomas/.ssh/id_rsa':
Run Code Online (Sandbox Code Playgroud)

我发现这个用户和我有完全相同的问题

ssh-add 的问题

不幸的是,我没有足够的代表在那里发表评论。我尝试按照他的指示进行操作,但第一步对我不起作用:

sthomas@sthomas-tcg ~
$ `eval ssh-agent`
-bash: SSH_AUTH_SOCK=/tmp/ssh-ejseksys5348/agent.5348;: No such file or directory
Run Code Online (Sandbox Code Playgroud)

有谁知道这里出了什么问题?该文件确实存在,但丢失的文件名在每次执行时都会更改。

sthomas@sthomas-tcg ~
$ ls /tmp/ssh-ejseksys5348/agent.5348
/tmp/ssh-ejseksys5348/agent.5348
Run Code Online (Sandbox Code Playgroud)

cjc*_*cjc 8

好的,其他 Serverfault.com 的回答有一个错字。

你想要运行的正确的事情是:

eval `ssh-agent`
Run Code Online (Sandbox Code Playgroud)

ssh-agent吐出一堆shell语句来设置环境变量。将eval在当前shell中运行它们。您可以以ssh-agent这种方式调用,或者运行ssh-agent然后将其输出复制粘贴到当前的 shell 中以获得相同的效果。