2

Привет, я использую bash для Windows 10, чтобы попытаться получить быстрый и простой способ SSH на мой сервер Ubuntu в Amazon Web Services. Насколько я могу сказать, все настроено правильно, но когда я иду в SSH

$ ssh -vvv -i key.rsa ubuntu@123.456.789.123

я получил

OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
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 123.456.789.123 [123.456.789.123] port 22.
debug1: connect to address 123.456.789.123 port 22: Resource temporarily unavailable
ssh: connect to host 123.456.789.123 port 22: Resource temporarily unavailable

Подключение через Putty в порядке. Что дает?

РЕДАКТИРОВАТЬ: я получил еще один шаг, добавив эту строку в конец /etc /ssh /ssh_config:

ProxyCommand nc %h %p %r

но теперь у меня есть новая проблема:

$ ssh -vvv -i id_rsa 123.456.789.123
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Executing proxy command: exec nc 123.456.789.123 22 User
debug1: permanently_drop_suid: 1000
debug3: Incorrect RSA1 identifier
debug3: Could not load "id_rsa" as a RSA1 public key
debug1: identity file id_rsa type 1
debug1: identity file id_rsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8
nc: getaddrinfo: Servname not supported for ai_socktype
ssh_exchange_identification: Connection closed by remote host

эта точно такая же команда с точно таким же ключом работает на моем сервере (ssh в себя).

$ ssh-keygen -l -f id_rsa

подтверждает, что это тот же действительный ключ. Putty все еще работает, так что это не мои настройки порта AWS. Нет записи SSH в журнале сервера, когда я пытаюсь подключиться из WinBash, но (конечно) запись появляется, когда SSH моего сервера в себя, так что я предполагаю, что что-то не так с моей настройкой на стороне клиента, но что?

2 ответа2

1

Ваша прокси-команда должна быть:

ProxyCommand nc %h %p

nc не нужно ваше имя пользователя ssh, просто опустите его.

Если вы передадите свое имя пользователя (% r) в nc в качестве третьего параметра, nc увидит его как символический идентификатор порта (службы) и попытается преобразовать его в номер порта, чего не может сделать. Это ошибка, которую вы получаете "Servname не поддерживается для ai_socktype" (Servname здесь на самом деле ваше имя пользователя).

[править] Хммм, тем не менее, я не думаю, что ваша ProxyCommand поможет. Возвращаясь к первой ошибке, я полагаю, что вы ограничены вашей системой, которая каким-то образом препятствует вашей программе (будь то ssh или nc) установить сетевое подключение к этому серверу / порту. Это может быть не проблема брандмауэра, а системное ограничение для ssh и / или Cygwin. Извините, я не знаю Windows, и я не могу помочь дальше.

0

Насколько я знаю, у вас должен быть .ppk при создании нового экземпляра в AWS. Если у вас есть файл .ppk, сгенерированный вами.

Откройте сеанс Putty и перейдите в раздел Connection и выберите раздел Auth, который находится в разделе SSH.

Наконец, просмотрите .ppk и загрузите его, затем откройте сеанс. Важным моментом является то, что перед вышеупомянутым процессом вы должны установить имя хоста и порт на вкладке Сеансы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .