在 Ubuntu 上使用 GNOME 桌面时,如果我使用 OpenSSH 客户端连接到另一台计算机(从 gnome 终端运行),我会收到一个图形弹出窗口,询问我的私钥的密码短语。之后,我不再需要输入密码,因为它已被 SSH 代理缓存。
在 KDE 下,它不是那样工作的——当我从 konsole 启动 ssh 时,即使 ssh-agent 正在运行,我每次都会收到输入密码短语的文本提示。
如果我从终端运行 ssh-add,那么我可以在终端上输入我的密码短语,它将被 ssh-agent 存储,我不会再收到任何密码短语提示,而如果我运行 ssh-add KRunner 图形命令行(“运行”对话框)然后我得到一个具有相同行为的图形提示。问题是我必须记住每次登录桌面时都运行 ssh-add。
我怎样才能让 ssh 在 KDE 下运行,就像它在 GNOME 上一样——第一次需要密码短语时,弹出一个图形对话框并将密码短语存储在代理中。
我已经安装了 ksshaskpass,但这并没有改变任何东西。
ssh-add在命令行上运行不再正确解锁我的系统上的 ssh 密钥(Ubuntu 11.10 with Unity)。即使在我运行 ssh-add 之后,当我 ssh 到服务器时,我也会弹出一个对话框,询问我的 ssh 密钥密码。之后,事情按预期工作。
ssh-agent在跑。当我第一次登录时:
$ ps -ef | grep ssh-agent
mish 1853 1818 0 18:55 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/gnome-session --session=ubuntu
Run Code Online (Sandbox Code Playgroud)
如何正确解锁 ssh 密钥而不必通过 ssh 连接到服务器?(手动触发 ssh 密钥对话框窗口可以作为解决方案,但我不知道该怎么做)。
我的用例是我使用tmuxinator并想设置多个 ssh 连接。所以我想解锁 ssh 密钥。否则所有 ssh 密钥对话框都会弹出,我必须多次输入密码。或者我可以在启动 tmuxinator 之前在某个地方 ssh,但是这里的连接很慢,所以只会增加摩擦。所以我想在启动 tmuxinator 之前解锁 ssh 密钥,而不必先在某个地方 ssh。
刚刚尝试注销并重新登录。然后我做了:
$ env | grep -i ssh
SSH_AGENT_PID=8693
SSH_AUTH_SOCK=/tmp/keyring-Ho4cfE/ssh
$ ssh-add -D
All identities removed.
$ ssh-add -l
1024 b8:12:34:56[...]:19 name@computer (DSA) …Run Code Online (Sandbox Code Playgroud) 我在计算机上安装了 Ubuntu 17.10 并创建了 ssh 密钥。但是,我无法使用 gnome 密钥环来解锁此 ssh 密钥,当尝试通过 ssh 连接或在 git 中使用我的 ssh 密钥时,我总是收到以下错误消息:
sign_and_send_pubkey: signing failed: agent refused operation
Run Code Online (Sandbox Code Playgroud)
我发现了很多关于此消息的线索和问题,但没有任何解决我的问题。我的系统的一些输出:
$ env | grep -i ssh
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
SSH_AGENT_PID=1139
$ ps aux | grep -i 'agent\|keyring'
username 997 0.0 0.1 509344 8064 ? Sl 15:15 0:00 /usr/bin/gnome-keyring-daemon --daemonize --login
username 1139 0.0 0.0 11240 324 ? Ss 15:15 0:00 /usr/bin/ssh-agent /usr/bin/im-launch env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu
$ ssh-add -l
4096 SHA256:fingerprintXXX username@machine (RSA)
Run Code Online (Sandbox Code Playgroud)
我在虚拟机中再次安装了 ubuntu,如果尝试使用 ssh 或带有 ssh 键的 …
当我通过 SSH 连接到我的防火墙服务器,然后尝试从那里通过 SSH 连接到本地网络上的另一台机器时,我收到以下错误:
无法打开与您的身份验证代理的连接。
有没有办法让代理从另一个 SSH 会话中正确运行?
ssh-agent 正在运行,但未在以下任何文件中启动:
lightdm-session
profile
bashrc
Run Code Online (Sandbox Code Playgroud)
我记得在 ubuntu 上的某个地方看到过 ssh-agent 初始化 shell 例程,类似于cygwin. 也许我错了。
系统:Ubuntu 12.04.3
我正在使用带有密码保护的密钥对的 sshfs 来使用 shell 脚本挂载远程文件夹。我也在该脚本中使用 ssh。
每次启动 shell 脚本时,我都会在命令行上收到每个 sshfs 调用的密码请求。我需要防止这种情况。
有没有办法将 sshfs 与 ssh-agent 和/或 kwallet 一起使用(就像我对 ssh 所做的那样)?或者我可以重用 sshfs 的现有 ssh 连接吗?
我的问题是在全新安装的 Ubuntu 16.10 上启动并运行ssh-agent。gnome-keyring
$ lsb_release -a\nNo LSB modules are available.\nDistributor ID: Ubuntu\nDescription: Ubuntu 16.10\nRelease: 16.10\nCodename: yakkety\nRun Code Online (Sandbox Code Playgroud)\n\n我已禁用 Gnome Keyring\xe2\x80\x99s SSH 组件(X-GNOME-Autostart-enabled=false在 中gnome-keyring-ssh.desktop)。
Ubuntu 16.10 自动启动一个实例ssh-agent并应该传播环境变量,但部分失败。\n如果终端通过 Unity Launcher 或 Nautilus 启动,$SSH_AUTH_SOCK则设置,但如果终端通过键盘快捷键启动(默认ctrl+ alt+ t) 变量为空。
缩短的 pstree:
\n\nsystemd\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80accounts-daemon\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80{gdbus}\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80{gmain}\n \xe2\x94\x9c\xe2\x94\x80acpid\n \xe2\x94\x9c\xe2\x94\x80agetty\n \xe2\x94\x9c\xe2\x94\x80avahi-daemon\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80avahi-daemon\n \xe2\x94\x9c\xe2\x94\x80cgmanager\n \xe2\x94\x9c\xe2\x94\x80colord\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80{gdbus}\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80{gmain}\n \xe2\x94\x9c\xe2\x94\x80cron\n \xe2\x94\x9c\xe2\x94\x80dbus-daemon\n \xe2\x94\x9c\xe2\x94\x80gnome-keyring-d\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80{gdbus}\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80{gmain}\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80{timer}\n \xe2\x94\x9c\xe2\x94\x80lightdm\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80Xorg\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80lightdm\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80upstart\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80hud-service\xe2\x94\x80\xe2\x94\xac\xe2\x94\x80{QDBusConnection}\n \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x82 …Run Code Online (Sandbox Code Playgroud) 请帮助我了解如何在 WSL 下的 Ubuntu 上安装 SSH 钥匙串,以便我能够配置我的设备.ssh/config来使用它。
我正在接受一些在线培训,并且我尝试像讲师(正在使用 Metatron CLI)一样使用 来设置我的配置文件Usekeychain,但它不会将其识别为有效设置:
Host*
AddKeysToAgent Yes
UseKeychain Yes
IdentityFile ~/.ssh/[his githubfile]
Run Code Online (Sandbox Code Playgroud)
但是当我尝试登录我的服务器时,它说UseKeychain is not a command。从那时起,我一直在尝试寻找如何将我的钥匙添加到我的钥匙串以及如何设置我的配置文件。