byobu 无法很好地连接到 ssh-agent 套接字。实际上,我只能通过 ssh-agent 建立一个连接,但是如果我尝试使用该代理建立另一个 ssh 连接,则它不起作用。我试过了
setenv SSH_AUTH_SOCK `echo $SSH_AUTH_SOCK`
Run Code Online (Sandbox Code Playgroud)
在,~/.byobu/profile但它并没有奏效。
我设立了Rails开发一个新的Ubuntu系统(12.04.2 LTS),并希望使用加密的SSH私钥按照此文章。我可以使用GitHub 上的说明设置标准 ssh 密钥对,一切正常,但是当我按照第一篇文章中的说明进行操作时,我无法再使用 ssh 登录。相反,我收到错误消息“代理承认无法签名使用钥匙。” 我发现了一个可能相关的错误(无法发布低声誉的链接 b/c,#328127);我没有被要求提供我的私钥密码,所以我在创建后修改了私钥的事实可能是问题所在。尝试使用ssh-addonly手动添加新密钥会导致错误返回两次。我不知道如何设置$SSH_AUTH_SOCK为零,否则我也会尝试这样做。任何帮助将不胜感激,谢谢!
我想在 xubuntu 中使用真正的 ssh-agent 而不是 gnome-keyring。我按照http://dtek.net/blog/how-stop-gnome-keyring-clobbering-opensshs-ssh-agent-ubuntu-1204 中的步骤操作,但 gnome keyring 仍将自己注册为 ssh-agent。我仍然想继续使用 gnome-keyring 作为其他密码
在我的 Kubuntu 14.04 系统上,我试图用我的 SSH 代理管理密钥,但不知何故它似乎忽略了我的ssh-add命令。看看下面这个,你就会明白我的意思。
列出当前键
? ssh-add -l
2048 60:6f:58:ef:7c:b0:ec:94:fb:fa:59:21:86:3d:fc:4c gert@e6230 (RSA)
Run Code Online (Sandbox Code Playgroud)
该密钥在启动时加载,但我期望一些 ECDSA 密钥,而不是 RSA。我不知道这个键...
从代理中删除密钥。
? ssh-add -D
All identities removed.
Run Code Online (Sandbox Code Playgroud)
耶!但是……是吗?
? ssh-add -l
2048 60:6f:58:ef:7c:b0:ec:94:fb:fa:59:21:86:3d:fc:4c gert@e6230 (RSA)
Run Code Online (Sandbox Code Playgroud)
我勒个去?它只是对我说谎。
这里发生了什么?
? env | grep -i ssh
SSH_AUTH_SOCK=/run/user/1000/keyring-eDJggO/ssh
Run Code Online (Sandbox Code Playgroud)
让我们看看哪个进程正在运行该套接字。
? sudo fuser -u /run/user/1000/keyring-eDJggO/ssh
[sudo] password for gert:
/run/user/1000/keyring-eDJggO/ssh: 9434(gert)
? ps -p 9434 u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
gert 9434 0.0 0.0 292528 7192 ? Sl …Run Code Online (Sandbox Code Playgroud)我id_rsa用密码加密了我的。我认为 Ubuntu 有一个密钥环系统,可以防止我每次必须使用id_rsa,时输入密码like git push。有时我不需要输入密码,有时我需要。
当我执行
$ ssh-add -l
Could not open a connection to your authentication agent.
$ gnome-keyring import ~/.ssh/id_rsa
WARNING: gnome-keyring:: couldn't connect to: /run/user/1000/keyring-wUoO5j/pkcs11: Connection refused
p11-kit: gnome-keyring: module failed to initialize, skipping: An error occurred on the device
gnome-keyring: couldn't find any place to import files
$ echo $SSH_AUTH_SOCK
/run/user/1000/keyring-wUoO5j/ssh
$ echo $SSH_AGENT_PID
<empty>
Run Code Online (Sandbox Code Playgroud)
在 seahorse 中,key 列在 openssh keys 中
有没有人有同样的问题?或者如何解决这个问题?
我使用的是从 17.10 升级的 18.04 安装。在 17.10 上,我取消了 GNOME SSH/GPG 代理,转而使用标准的命令行 SSH 代理。我在这里写了执行此操作所需的步骤。
现在,升级后,我发现密钥似乎已导入到 GNOME 3“密码和密钥”应用程序中,随之而来的问题是(例如,当从这里删除密钥时,它们会从我的~/.ssh(!) /Keys 显示为ssh-add,但无法在 CLI 上删除/添加)。更糟糕的是,当我尝试通过 SSH 连接到各种机器以获取受密码保护的密钥时,我会收到一个弹出窗口(尽管似乎有某种与此相关的超时,并且它似乎缓存了它,至少有一段时间)。
关于如何杀死 GNOME 应用程序,并回到使用正常的ssh-agent,考虑到我已经到位的 thigns 的任何想法?
我知道有几个关于 ssh 密钥以及如何配置它的问题。但我发现没有人回答我的问题。
所以这里是:我的.ssh目录中有几个 ssh 密钥。对于一些遥控器不同的键。
现在我既没有配置.ssh/config哪个密钥用于哪个主机,也没有手动将它们添加到代理中,这里已经提到了一些问题。我刚刚创建了密钥,ssh-keygen它可以工作。
现在我想知道谁对此负责以及自动尝试哪些键?我有一些想法说大约有五个键会自动检查兼容性 - 但我找不到在哪里找到这些信息。
是否ssh-keygen自动将这些密钥添加到代理?还是默认情况下 ssh 会搜索任何匹配的密钥?
我已经设置好所有内容,以便在我登录并ssh-add从 gnome 终端窗口使用 ssh-agent 添加正确的身份后,当我调用ssh myserver.
现在我想让它更容易并创建一个可以运行的面板启动器
gnome-terminal --command "ssh myserver"
Run Code Online (Sandbox Code Playgroud)
但是虽然这确实调用了我想要的,但它忽略了 ssh-agent,即它要求输入 pass-phrase。它每次都这样做,即使我提供了 PP,下次它再次询问时也是如此。
我究竟做错了什么?谁能解释为什么这不起作用?
补充说明:
运行gnome-terminal --command "ssh myserver从已经打开的终端工作确定
将ssh myserver部分更改为bash -c "ssh myserver"正确引用并没有帮助。
ssh myserver在启动器中使用right 也无济于事:密码短语提示显示为一个简单的 GUI 窗口(除非我选中了“在终端中运行”选项,在这种情况下,行为与上述相同)
这是 Ubuntu 12.04
将 -vvv 添加到两个 ssh 命令,这里是失败的(并要求 PP)ssh 开始与成功的 ssh 不同的地方:
[...]
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug2: input_userauth_pk_ok: fp 5e:ad:5e:1f:7f:...
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM …Run Code Online (Sandbox Code Playgroud)我有一个带密码的私钥
我有 2 台计算机运行 Ubuntu 14.04
首先,我使用ssh-add ~/.ssh/id_rsa
它询问了我的密码短语添加了密钥,并且它被永久添加了。
另一方面,当我使用ssh-add ~/.ssh/id_rsa它添加密钥时,它会询问我密码并临时添加它(它将在下次重新启动时删除)。
但是所有其他没有密码的 ssh 密钥都会自动添加。
我已经尝试了这里解释的解决方案:https : //stackoverflow.com/questions/3466626/add-private-key-permanently-with-ssh-add-on-ubuntu
但它不起作用。而且我真的不明白它是如何工作的(尽管有积极的反馈)。
我不明白如何在 SSH 配置文件中将我们的 SSH 密钥定义为“IdentityFile”会使其自动添加带有密码的 SSH 密钥。这意味着当我执行 ssh-add ~/.ssh/id_rsa 时,系统会将密码存储在某处,但仅当我在配置中添加“IdentityFile”时才使用它。对于没有密码短语的 ssh 密钥,它不需要任何“身份文件”。
有人知道 ssh-add 是如何工作的吗?ssh-add 行为怎么会如此不确定?