标签: ssh-agent

OpenSSH 尝试私钥的顺序是什么?

鉴于以下所有内容都存在,我很难找到有关 OpenSSH 客户端尝试使用私钥对服务器进行身份验证的顺序的正确文档:

  • 具有默认名称的密钥文件~/.ssh,例如~/.ssh/id_rsa
  • 具有非默认名称的密钥文件配置为通过特定主机使用~/.ssh/config
  • 密钥由ssh-agent.

是否总是尝试所有这些位置(前提是主机与 中的条目匹配~/.ssh/config),以及按什么顺序?

背景:我有~/.ssh/id_rsa它只能用于对服务器A进行身份验证,并且我有另一个管理的密钥ssh-agent只能用于对服务器B进行身份验证。当试图ssh,认证失败,显然是因为 ~/.ssh/id_rsa是尝试。尝试由 管理的密钥似乎没有后备ssh-agent

ssh private-key ssh-agent

10
推荐指数
1
解决办法
3617
查看次数

SSH 密钥问题:不是 RSA1 密钥文件未知密钥类型 '-----BEGIN'

backuppc 服务器能够以 root 身份登录远程机器并备份它们,但是如果我以 backuppc 用户身份登录并尝试使用相同的密钥 ssh 进入这些机器,则该密钥将被拒绝,并显示以下调试输出:

OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /var/lib/BackupPC/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXX.XXXXXX.com [XX.XXX.XX.XX] port 222.
debug1: Connection established.
debug1: identity file /var/lib/BackupPC/.ssh/identity type -1
debug1: identity file /var/lib/BackupPC/.ssh/identity-cert type -1
debug3: Not a RSA1 key file /var/lib/BackupPC/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace …
Run Code Online (Sandbox Code Playgroud)

ssh keys backuppc ssh-keys ssh-agent

9
推荐指数
1
解决办法
3万
查看次数

是否可以使用在环境变量中指定内容的 ssh 密钥?

我正在远程服务器上工作,我需要使用我的私钥从另一台服务器进行 git clone。但我不想将我的密钥存储在远程服务器上。

我想完全避免将 ssh 密钥存储在远程服务器上,即使是在临时文件中。这可能吗?

linux ssh ssh-agent

7
推荐指数
1
解决办法
3553
查看次数

只允许代理转发中的特定密钥?

是否可以使用代理转发排除所有密钥的转发,特别说明的除外?或者,是否有任何方法可以指定每个会话尝试密钥的顺序?

使用ssh-agent需要管理不同的套接字:https : //superuser.com/questions/357602/use-a-specified-key-from-ssh-agent/401737#comment396923_358604

有没有更容易配置的替代代理?

例如:

Client A -->  ssh/agent-forwarding --> Server B -->  Server C 
                                            | 
                                            ------>  Server D 
Run Code Online (Sandbox Code Playgroud)

我想在代理转发中只允许一个键,允许:A -> B -> C,而不是A -> B -> D。或者至少指定尝试密钥的顺序。

(在@jeff-ferland 回答之后为清晰起见进行了编辑。)

ssh ssh-keys ssh-agent

7
推荐指数
1
解决办法
2263
查看次数

SSH/SFTP 连接在 OSX 10.8.2 上静默失败 - ssh-agent 问题

我正在尝试使用 SSH 或 SFTP 登录到远程计算机。

  • 当我尝试ssh u-indgo@ssh1.eu1.frbit.comCLI 时,它不会响应。我得到一个空的新行,我可以在其中输入字符,但仅此而已。
  • 当我尝试SFTP使用相同的凭据(我Transmit用作我的 SFTP 客户端)进行连接时,它会永远挂起并且无法连接。

没有错误。没有反应。

该问题并非特定于frbit.com我尝试连接的任何其他服务器,并且仍然存在。

ssh客户端调试

使用 -vv 标志运行 ssh 客户端,我得到以下输出:

debug1: Reading configuration data /Users/matanya/.ssh/config
debug1: Reading configuration data /usr/local/Cellar/openssh/6.1p1/etc/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Connecting to ssh1.eu1.frbit.com [46.137.57.195] port 22.
debug2: fd 3 setting O_NONBLOCK
debug1: fd 3 clearing O_NONBLOCK
debug1: Connection established.
debug1: identity file /Users/matanya/.ssh/id_rsa type 1
debug1: identity file /Users/matanya/.ssh/id_rsa-cert type -1
debug1: identity file /Users/matanya/.ssh/id_dsa type 2
debug1: …
Run Code Online (Sandbox Code Playgroud)

ssh sftp mac-osx ssh-agent

7
推荐指数
1
解决办法
4052
查看次数

ssh 服务器配置 - input_userauth_request:无效用户

我在配置 SSH 服务器时遇到问题,无法使用公钥登录,无需密码。

tail -f /var/log/auth.log 给出

Feb  6 14:56:06 ubuntu sshd[24654]: rexec line 26: Deprecated option RhostsAuthentication
Feb  6 14:56:28 ubuntu sshd[24654]: Invalid user mpsd from ip.ip.ip.ip
Feb  6 14:56:28 ubuntu sshd[24654]: input_userauth_request: invalid user mpsd [preauth]
Feb  6 14:56:28 ubuntu sshd[24654]: error: Received disconnect from ip.ip.ip.ip: 14: No supported authentication methods available [preauth]
Run Code Online (Sandbox Code Playgroud)

我已经检查过 /home/mpsd/.ssh 有 700 和 /home/mpsd/.ssh/authorized_keys 有 600 权限。authorized_keys 包含在我的远程 Windows 机器上生成的 rsa 公钥。我的 sshd_config 读取

Port 22
# Use these options to restrict which …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-agent

7
推荐指数
1
解决办法
4万
查看次数

SSH是否允许跳转主机访问转发代理?

如果我在启用代理转发的情况下通过 SSH 访问,是否可以targethost访问我的 SSH 密钥代理?jumphostjumphost

ssh -A -J user1@jumphost user2@targethost
Run Code Online (Sandbox Code Playgroud)

如果我不完全信任,这仍然安全吗jumphost

ssh ssh-agent

7
推荐指数
1
解决办法
2368
查看次数

SSH 代理转发在 Ubuntu 22.04 上不起作用

我正在尝试通过远程服务器上的 ssh 连接到 github(运行 Ubuntu 22.04)。

在我的本地计算机(运行 Win 10)上,我有~/.ssh/config以下文件:

Host remote
    HostName SERVER_IP
    port 22
    User ubuntu
    ForwardAgent yes
Run Code Online (Sandbox Code Playgroud)

连接到远程服务器后,我可以通过键入以下内容来确认 ssh 代理正在工作:

echo "$SSH_AUTH_SOCK"

结果:/tmp/ssh-XXXXPWEKZo/agent.1073

我还ssh-add -l看到密钥已添加

4096 SHA256:hvGuLtIuwYi2LAnQ0KdC/9IgdBUmlHZer0NyXUXd5aY C:\Users\user/.ssh/id_rsa (RSA)

/etc/ssh/sshd_config我已允许代理转发AllowAgentForwarding yes

但是当我尝试连接到 github ssh -T git@github.com -vvv(密钥已添加到 github 设置中)时,我得到以下信息:

OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug3: …
Run Code Online (Sandbox Code Playgroud)

ssh ssh-agent

7
推荐指数
1
解决办法
7508
查看次数

在 KDE 中使用 ssh-agent?

我以前曾经工作过一次,但由于某种原因它无法在我的新系统上工作。

我有.kde4/Autostart/一个名为 ssh-agent 的符号链接01-sshagent,然后是一个名为的简单脚本02-sshkeys,如下所示:

/usr/bin/ssh-add $(find $HOME/.ssh/keys -type f | egrep -v '\.pub$')
Run Code Online (Sandbox Code Playgroud)

问题似乎是,当我启动时,ssh-agent 运行正常,但 KDE 不会保留输出并将其存储在环境中,因此对于每个 Konsole 会话,我必须运行以ps查找 PID,然后手动类型:

SSH_AUTH_SOCK=/tmp/ssh-YtvdiEtW3065/agent.3065; export SSH_AUTH_SOCK;
SSH_AGENT_PID=<pidnumber>; export SSH_AGENT_PID;
Run Code Online (Sandbox Code Playgroud)

...只是为了让它工作,它确实...就在那个 Konsole 窗口中。

我尝试删除上述符号链接,并让 ssh 脚本看起来像这样:

/usr/bin/ssh-agent | sh
/usr/bin/ssh-add $(find $HOME/.ssh/keys -type f | egrep -v '\.pub$')
Run Code Online (Sandbox Code Playgroud)

但是,代理变量并不在会话中,并且从未提示我输入密钥的密码。

我显然错过了一些东西,但它是什么?

ssh kde ssh-agent

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

强制使用 gpg-key 作为给定服务器的 ssh-key

我将 ssh 配置为使用 GPG 作为我的 ssh 代理,如果我删除了该~/.ssh文件夹,我可以使用我的 gpg 密钥通过 ssh 进入我的服务器。但是,我的~/.ssh文件夹中有十多个不同的 ssh 密钥,如果我在它存在时尝试 ssh,我会收到权限被拒绝错误,因为我的 ssh 客户端在尝试密钥之前提供了目录中的每个私钥gpg SSH 代理。

使用常规 ssh 密钥,我只使用文件中的IdentityFile配置~/.ssh/config,但我不能这样做,因为我的身份是 gpg cardno。我很困惑为什么 ssh 更喜欢密钥文件而不是代理。有没有办法强制 ssh 使用代理而不是文件?或者更好的是,有没有办法在~/.ssh/config文件中指定gpg 密钥必须用于给定服务器?

我已经确认ssh-agent没有运行并且gpg-agent正在运行并ssh-add -L显示我的 gpg 密钥存在,以及一个其他 ssh 样式的私钥。

ssh gpg pgp ssh-agent

6
推荐指数
1
解决办法
1860
查看次数

标签 统计

ssh ×10

ssh-agent ×10

ssh-keys ×2

backuppc ×1

gpg ×1

kde ×1

keys ×1

linux ×1

mac-osx ×1

pgp ×1

private-key ×1

sftp ×1