Еще один "ssh агент переадресации не работает"

1891
Richard Hansen

Я могу SSH от hostAк hostBи от hostAс hostCпомощью клавиш, загруженные в SSH агента без каких - либо проблем. Однако, если я сделаю ssh -A hostBиз hostA, а затем попробую, аутентификация ssh hostCс hostBоткрытым ключом не работает, и он запрашивает мой пароль.

Некоторые детали:

  • Я использую ssh-agentэто поставляется с OpenSSH, а не GNOME Keyring или что-то подобное.
  • Оба ssh -v hostBиз hostAи ssh -v hostCиз hostAшоу:

    debug1: Next authentication method: publickey debug1: Offering RSA public key: /home/rhansen/.ssh/id_rsa debug1: Server accepts key: pkalg ssh-rsa blen 279 debug1: Authentication succeeded (publickey). 
  • Я вижу свой ключ, когда я бегу ssh-add -Lна hostB.

  • Мой ключ hostAзащищен паролем.
  • Вкл hostB, /etc/ssh/sshd_configне содержит AllowAgentForwarding no.
  • Все три системы работают под управлением Ubuntu 15.10 (Wily) с OpenSSH 6.6.1p1.
  • Когда я бег ssh -vvv hostCот hostBследующего регистрируются:

    ... debug2: key: /home/rhansen/.ssh/id_rsa ((nil)), debug2: key: /home/rhansen/.ssh/id_dsa ((nil)), debug2: key: /home/rhansen/.ssh/id_ecdsa ((nil)), debug2: key: /home/rhansen/.ssh/id_ed25519 ((nil)), debug1: Authentications that can continue: publickey,password debug3: start over, passed a different list publickey,password 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: Trying private key: /home/rhansen/.ssh/id_rsa debug3: no such identity: /home/rhansen/.ssh/id_rsa: No such file or directory debug1: Trying private key: /home/rhansen/.ssh/id_dsa debug3: no such identity: /home/rhansen/.ssh/id_dsa: No such file or directory debug1: Trying private key: /home/rhansen/.ssh/id_ecdsa debug3: no such identity: /home/rhansen/.ssh/id_ecdsa: No such file or directory debug1: Trying private key: /home/rhansen/.ssh/id_ed25519 debug3: no such identity: /home/rhansen/.ssh/id_ed25519: No such file or directory debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: ,password debug3: authmethod_is_enabled password debug1: Next authentication method: password 
  • Если я делаю ssh -vvv hostBиз hostA, а затем делаю ssh hostC, hostAперед hostCзапросом пароля регистрируется следующее :

    debug1: client_input_channel_open: ctype auth-agent@openssh.com rchan 2 win 65536 max 16384 debug2: fd 10 setting O_NONBLOCK debug3: fd 10 is O_NONBLOCK debug1: channel 2: new [authentication agent connection] debug1: confirm auth-agent@openssh.com 
  • My ~/.ssh/configна всех системах содержит следующие необычные настройки (плюс некоторые общие, которые я не считаю нужными):

    ControlMaster auto ProxyCommand sh ~/.ssh/proxy.sh '%h' '%p' '%r' IdentitiesOnly yes 

Есть идеи?

0
Какой агент вы используете на hostA - ssh-agent по умолчанию в OpenSSH? GNOME Keyring? GPG-агент? Pageant? grawity 8 лет назад 0
Кроме того, что-нибудь особенное в ~ / .ssh / config хоста или / etc / ssh / ssh_config (клиентский, а не sshd_config)? grawity 8 лет назад 0
Кроме того, можете ли вы `ssh -vv hostC` ** от hostA ** подтвердить, что это действительно агент, который предоставляет ключи в работающем прямом соединении? grawity 8 лет назад 0
@ Grawity: я обновил свой вопрос Richard Hansen 8 лет назад 0

2 ответа на вопрос

2
Richard Hansen

Оказывается, виновником была следующая строка в моем ~/.ssh/config:

IdentitiesOnly yes 

Я добавил это некоторое время назад, когда я экспериментировал с большим количеством ключей, которые вызывали отклонения "слишком много попыток". Я забыл об этом, когда закончил экспериментировать, поэтому никогда не удалял его. (Это никогда не вызывало никаких проблем, пока я не начал использовать переадресацию агента.)

0
Gordster

Я рад видеть, что вы смогли решить проблему самостоятельно.

Ваша проблема отличалась от той, что была у меня, но я добавлю ту, которая была у меня на тот случай, если кто-то натолкнется на эту запись с той, что у меня была.

В моем случае проблема заключалась в том, что мой домашний каталог имел разрешения 775, чего не позволяет ssh. Директория .ssh / должна быть не только 700, а author_keys - 600, но и домашний каталог должен быть 755 или ниже (например, 700).

Похожие вопросы