Мне нужно запустить скрипт на машине, которая доступна только через несколько прыжков. Поэтому я написал небольшой сценарий:
ssh -t user1@host1 ssh -t user2@host2 ssh -t user3@host3 sript_to_run.sh
Это прекрасно работает и запрашивает пароли для host1, host2, но не host3.
Для удобства я скопировал свой открытый rsa-key
со своего компьютера на host1 для входа без пароля. Теперь только запрашивает у меня логин в host2, но в остальном нормально.
Я сделал то же самое с host1 и host2. Теперь я могу войти на host2 без запроса пароля. Но теперь мне нужно войти с паролем на host3 ... К сожалению , я не знаю , как работает без пароля Войти на host3 и я не разрешается добавлять файл authorized_keys
Поэтому я предполагаю, что host3 каким-то образом знает, как я вошел в host2. Могу ли я каким-то образом обмануть host3, думая, что host2 был авторизован с помощью пароля? Или есть другой способ запустить скрипт без паролей?
Вот подробный вывод последнего шага ssh (Все в #
удалено для анонимности):
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to mcc-console [#IP#] port 22.
debug1: Connection established.
debug1: identity file /reg/neh/home/#USER#/.ssh/identity type -1
debug1: identity file /reg/neh/home/#USER#/.ssh/id_rsa type -1
debug1: identity file /reg/neh/home/#USER#/.ssh/id_dsa type -1
debug1: loaded 3 keys
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_4.3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Host '#HOST3#' is known and matches the RSA host key.
debug1: Found key in /reg/neh/home/#USER#/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found
debug1: Unspecified GSS failure. Minor code may provide more information
No credentials cache found
debug1: Next authentication method: publickey
debug1: Trying private key: /reg/neh/home/#USER#/.ssh/identity
debug1: read PEM private key done: type DSA
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /reg/neh/home/#USER#/.ssh/id_rsa
debug1: Trying private key: /reg/neh/home/#USER#/.ssh/id_dsa
debug1: Next authentication method: password