2016-01-28 2 views
1

Я безуспешно пытаюсь использовать SSH ProxyCommand для подключения к серверу с помощью скачка. Моя конфигурация ниже, я бегу эту команду:Не удается заставить SSH ProxyCommand работать (ssh_exchange_identification: соединение закрыто удаленным хостом)

SSH 10.0.2.54 -F ssh.config -vv

Host x.x.x.x 
    User     ec2-user 
    HostName    x.x.x.x 
    ProxyCommand   none 
    IdentityFile   /Users/me/.ssh/keys.pem 
    BatchMode    yes 
    PasswordAuthentication no 

Host * 
    ServerAliveInterval 60 
    TCPKeepAlive   yes 
    ProxyCommand   ssh -W %h:%p -q [email protected] 
    ControlMaster   auto 
    ControlPersist   8h 
    User     ec2-user 
    IdentityFile   /Users/me/.ssh/keys.pem 

Результат:

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 
debug1: Reading configuration data ssh.config 
debug1: ssh.config line 9: Applying options for * 
debug1: auto-mux: Trying existing master 
debug1: Control socket "/Users/me/.ssh/[email protected]:22" does not exist 
debug2: ssh_connect: needpriv 0 
debug1: Executing proxy command: exec ssh -W 10.0.2.54:22 -q [email protected] 
debug1: identity file /Users/me/.ssh/keys.pem type -1 
debug1: identity file /Users/me/.ssh/keys.pem-cert type -1 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_6.2 
debug1: permanently_drop_suid: 501 

Как я могу получить это работать/устранять проблему?

Спасибо,

ответ

1

ControlPersist в сочетании с ProxyCommand не является эффективным и вы не пропустите ControlPath вариант. Но это не проблема.

Прежде всего, если вы используете нестандартный файл конфигурации и хотите, чтобы он использовался даже с помощью прокси-команды, вам нужно указать его даже там. Опция -q делает соединение тихим, поэтому вы не знаете, что происходит под капотом прокси-команды. LogLevel DEBUG3 вариант весьма полезен.

Эта линия:

ProxyCommand   ssh -W %h:%p -q [email protected] 

должно быть (и вам не нужно имя пользователя, как уже указано выше):

ProxyCommand   ssh -W %h:%p -F ssh.config x.x.x.x 

Вы также неправильный порядок параметров в вашей команда:

ssh 10.0.2.54 -F ssh.config -vv 

должно быть:

ssh -F ssh.config 10.0.2.54 

как вы можете прочитать на странице руководства. И -vv не нужен, если вы используете опцию LogLevel.

Тогда он должен работать для вас (по крайней мере, для меня, в противном случае расследуйте журнал).

Смежные вопросы