Прежде всего, я проверил все следующее
- Агент Переадресация не работает
- Требуется ли дополнительная настройка для пересылки ssh-agent?
- Переадресация агента SSH не работает
- https://serverfault.com/questions/404447/why-is-ssh-agent-forwarding-not-working
- https://apple.stackexchange.com/questions/37184/ssh-a-doesnt-properly-enable-forwarding-of-authentication-agent-connection
но никто из них не помог. Вот мой вопрос:
Я могу использовать SSH от A до B или от A до C, но не от A до B, затем от B до C. При подключении от A к B или C я всегда использую ssh -Aдля принудительной пересылки агента SSH.
Но почему я до сих пор не могу подключиться A -> B -> Cбез запроса пароля?
ОБНОВЛЕНИЕ: почти три года спустя, та же самая проблема все еще преследует меня, но теперь я немного сузил проблему:
Симптом: я могу ssh A -> B, или A -> C, но не 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файл, как я сравнил те из промежуточных серверов, которые работают или не работают.
ОБНОВЛЕНИЕ КОНЕЦ.
Больше информации: все три машины настроены со стандартной конфигурацией Ubuntu ssh. Т.е. эта AllowAgentForwardingопция не включена/etc/ssh/sshd_config, хотя я сомневаюсь, что так и должно быть, потому что я увидел: «Поскольку переадресация агента включена по умолчанию, этого должно быть достаточно, чтобы удалить любую строку AllowAgentForwarding из sshd_config». от дополнительной конфигурации, необходимой для пересылки SSH-агент? ,
Некоторые говорят, что ssh-addбудет делать, но когда я делаю это на B или C, он спрашивает меня, Enter passphrase forмой .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будет достаточно? Также у меня есть .ssh/id_rsaфайлы как на B, так и на C, по этой причине они ssh-addзапрашивают парольную фразу для них?
РЕДАКТИРОВАТЬ:
Вот журнал -Avvvот B до C:
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: ssh-rsa-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,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: ssh-rsa-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-rsa,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-dss debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se debug2: kex_parse_kexinit: hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: zlib@openssh.com,zlib,none debug2: kex_parse_kexinit: zlib@openssh.com,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,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se debug2: kex_parse_kexinit: aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour,rijndael-cbc@lysator.liu.se debug2: kex_parse_kexinit: hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-ripemd160-etm@openssh.com,hmac-sha1-96-etm@openssh.com,hmac-md5-96-etm@openssh.com,hmac-md5,hmac-sha1,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,zlib@openssh.com debug2: kex_parse_kexinit: none,zlib@openssh.com 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 hmac-md5-etm@openssh.com debug1: kex: server->client aes128-ctr hmac-md5-etm@openssh.com zlib@openssh.com debug2: mac_setup: found hmac-md5-etm@openssh.com debug1: kex: client->server aes128-ctr hmac-md5-etm@openssh.com zlib@openssh.com 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) и обнаружил, что все они ничем не отличаются, кроме последних 3 строк, начинающихся с " key_parse_private_pem: PEM_read_PrivateKey failed". Хорошая сессия вместо этого имеет:
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 Спасибо
Вы пробовали
ssh -Avv(или, может быть, больше-v, я не знаю максимальный уровень многословия наизусть) и смотрели результат?