Я могу 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
Есть идеи?
Какой агент вы используете на 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).