まず、以下のすべてをチェックしました
しかし、それらのどれも助けませんでした。だから、ここに私の質問があります:
AからB、またはAからCにSSHで接続できますが、AからB、次にBからCにSSH接続することはできません。AからBまたはCに接続するときは、常にssh -A
を使用してSSHエージェント転送を強制します。
しかし、パスフレーズを求められずにA -> B -> C
に接続できないのはなぜですか?
UPDATE:ほぼ3年後、同じ問題がまだ私を悩ませていますが、今は問題を少し絞り込みました:
症状:A -> B
またはA -> C
はsshできますが、A -> B -> C
またはA -> C -> B
はできません。
問題はトピックによって正確に説明されています-SSHエージェント転送が機能していません。
から
SSHの問題のトラブルシューティング
https://confluence.atlassian.com/bitbucket/troubleshoot-ssh-issues-271943403.html
それは言う:
ロードされたキーを一覧表示するには、
ssh-add -l
と入力します。使用したいSSHキーが表示されない場合...
次に問題があります-使用したいSSHキーがロードされていません。
これは、私がA -> B
またはA -> C
にいるときに起こっていることです。つまり、中間サーバーにssh -A
を実行した直後です。 SSHキーが失われ、転送されず、ロードされません。
$ ssh-add -l
The agent has no identities.
それが、パスフレーズなしではこれ以上sshできない理由です。
ただし、SSH_AUTH_SOCK
変数の設定といくつかのssh-agent
があります。
$ echo "$SSH_AUTH_SOCK"
/tmp/ssh-RtEuLOmFDBet/agent.3722
$ ps -e | grep [s]sh-agent
3723 ? 00:00:00 ssh-agent
4613 ? 00:00:00 ssh-agent
動作している、または動作していない中間サーバーからのものを比較したので、それらが同一であるため、または/etc/ssh/sshd_config
ファイルであるため、それは私自身の環境に関連していないようです。
更新終了。
詳細:3台のマシンはすべて、標準のUbuntussh構成で構成されています。つまり、AllowAgentForwarding
オプションは/etc/ssh/sshd_config
にありませんが、 "エージェント転送がデフォルトでオンになっているので、削除するだけで十分なはずです。 sshd_configからのAllowAgentForwarding行。 "from ssh-agent転送には追加の構成が必要ですか? 。
ssh-add
で十分だと言う人もいますが、BまたはCで実行すると、Enter passphrase for
my .ssh/id_rsa
を要求されます。 SSH_AUTH_SOCK
をチェックすると言う人もいますが、私はBまたはC(AからB、またはAからCのいずれか)にそれを持っています:
$ env | grep SSH_AUTH_SOCK
SSH_AUTH_SOCK=/tmp/ssh-RTScJ5PZh9Mh/agent.2083
AllowAgentForwarding
オプションがないため、エージェント転送が機能していませんか?それでは、どれ(A、B、またはC)に入れる必要がありますか? ssh -A
で十分ではないでしょうか?また、BとCの両方に.ssh/id_rsa
ファイルがありますが、それはssh-add
がそれらのパスフレーズを要求する理由ですか?
編集:
BからCへの-Avvv
のログは次のとおりです。
OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /home/myid/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to boxc.
debug1: Connection established.
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/myid/.ssh/id_rsa" as a RSA1 public key
debug1: identity file /home/myid/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-1024
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-1024
debug1: identity file /home/myid/.ssh/id_rsa-cert type -1
debug3: Incorrect RSA1 identifier
debug3: Could not load "/home/myid/.ssh/id_dsa" as a RSA1 public key
debug1: identity file /home/myid/.ssh/id_dsa type 2
debug1: Checking blacklist file /usr/share/ssh/blacklist.DSA-1024
debug1: Checking blacklist file /etc/ssh/blacklist.DSA-1024
debug1: identity file /home/myid/.ssh/id_dsa-cert type -1
debug1: identity file /home/myid/.ssh/id_ecdsa type -1
debug1: identity file /home/myid/.ssh/id_ecdsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2p2 Ubuntu-6ubuntu0.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.2p2 Ubuntu-6
debug1: match: OpenSSH_6.2p2 Ubuntu-6 pat OpenSSH*
debug2: fd 3 setting O_NONBLOCK
debug3: put_Host_port: boxc
debug3: load_hostkeys: loading entries for Host "boxc" from file "/home/myid/.ssh/known_hosts"
debug3: load_hostkeys: found key type RSA in file /home/myid/.ssh/known_hosts:15
debug3: load_hostkeys: loaded 1 keys
debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],ssh-rsa
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: [email protected],[email protected],ssh-rsa,[email protected],[email protected],[email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: [email protected],zlib,none
debug2: kex_parse_kexinit: [email protected],zlib,none
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: kex_parse_kexinit: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1
debug2: kex_parse_kexinit: ssh-rsa,ssh-dss
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,[email protected],[email protected],aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,[email protected]
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: [email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],hmac-md5,hmac-sha1,[email protected],[email protected],hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,[email protected],hmac-sha1-96,hmac-md5-96
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit: none,[email protected]
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit:
debug2: kex_parse_kexinit: first_kex_follows 0
debug2: kex_parse_kexinit: reserved 0
debug2: mac_setup: found [email protected]
debug1: kex: server->client aes128-ctr [email protected] [email protected]
debug2: mac_setup: found [email protected]
debug1: kex: client->server aes128-ctr [email protected] [email protected]
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server Host key: RSA ed:26:20:93:4c:88:ef:17:70:e3:d4:7a:42:4c:8e:69
debug3: put_Host_port: [192.168.2.122]:21
debug3: put_Host_port: boxc
debug3: load_hostkeys: loading entries for Host "boxc" from file "/home/myid/.ssh/known_hosts"
debug3: load_hostkeys: found key type RSA in file /home/myid/.ssh/known_hosts:15
debug3: load_hostkeys: loaded 1 keys
debug3: load_hostkeys: loading entries from file "/home/myid/.ssh/known_hosts"
debug3: load_hostkeys: found key type RSA in file /home/myid/.ssh/known_hosts:16
debug3: load_hostkeys: loaded 1 keys
debug1: Host 'boxc' is known and matches the RSA Host key.
debug1: Found key in /home/myid/.ssh/known_hosts:15
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug2: service_accept: ssh-userauth
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: /home/myid/.ssh/id_rsa (0x7f7e....e760),
debug2: key: /home/myid/.ssh/id_dsa (0x7f7e....e7a0),
debug2: key: /home/myid/.ssh/id_ecdsa ((nil)),
debug1: Authentications that can continue: publickey
debug3: start over, passed a different list publickey
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/myid/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 149
debug2: input_userauth_pk_ok: fp 22:32:...:1d:e3
debug3: sign_and_send_pubkey: RSA 22:32:...:1d:e3
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase for key '/home/myid/.ssh/id_rsa':
良いセッション(A-> C)と比較したところ、「key_parse_private_pem: PEM_read_PrivateKey failed
」で始まる最後の3行を除いて、すべてが同じであることがわかりました。代わりに、良いセッションには次のものがあります。
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (publickey).
Authenticated to boxc
他のすべては同じです。
繰り返しますが、私の環境:
$ apt-cache policy openssh-server
openssh-server:
Installed: 1:6.2p2-6ubuntu0.1
Candidate: 1:6.2p2-6ubuntu0.4
Version table:
1:6.2p2-6ubuntu0.4 0
500 http://archive.ubuntu.com/ubuntu/ saucy-updates/main AMD64 Packages
1:6.2p2-6ubuntu0.3 0
500 http://security.ubuntu.com/ubuntu/ saucy-security/main AMD64 Packages
% sshd -v
sshd: illegal option -- v
OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013
ありがとう
私はこの問題のトラブルシューティングをほぼ7年試みてきましたが、最終的には解決しました-_~/.profile
_でkeychain
を起動し、それ自体が '_ssh-agent
_ '、マシンBおよびCでも。これは問題のsourceです。これは、keychain
の_ssh-agent
_提供されたsshd
を覆い隠します。
_~/.profile
_から(keychain
)を削除すると、問題が解決しました。
更新、別の可能性、_ssh-agent
_などは通常[〜#〜] gui [〜#〜]の起動の一部として開始されますローカルシステム上。たとえば、別のケースでは、通話は_/etc/X11/xdm/sys.xsession
_に隠されています!
MachineAで、SSHエージェント転送が機能していることを確認します。
_ssh -t MachineB ssh MachineC
_
_ssh MachineB
_の間、その中で_ssh MachineC
_は失敗していました。
これからはマシンAからのみ手動で起動します(_ssh-agent
_ from keychain
など)。