Я нахожусь в Китае, и соединения SSH замедляются китайским Большим Брандмауэром. Часто бывает так плохо, что использовать ssh просто невозможно. Таким образом, мне нужно туннелировать мой ssh-трафик через теневые чулки, чтобы CGF не мог его обнаружить. Поэтому я добавил следующие строки в мой файл ~/.ssh/config :

$cat ~/.ssh/config
Host ssserver
  User ubuntu
  IdentityFile ~/.ssh/id_rsa
  ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p

Теперь при запуске ssh -v ssserver я получаю следующее сообщение об ошибке:

$ ssh -v ssserver
OpenSSH_7.6p1, LibreSSL 2.6.2
debug1: Reading configuration data /Users/Tom/.ssh/config
debug1: /Users/Tom/.ssh/config line 6: Applying options for ssserver
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: /etc/ssh/ssh_config line 102: Applying options for *
debug1: Executing proxy command: exec nc -X 5 -x 127.0.0.1:1080 ssserver 22
debug1: identity file /Users/Tom/.ssh/id_rsa type 0
debug1: key_load_public: No such file or directory
debug1: identity file /Users/Tom/.ssh/id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6
debug1: permanently_drop_suid: 501
ssh_exchange_identification: Connection closed by remote host

К сожалению, я не эксперт по SSH. Итак, кто-нибудь знает, что это значит и как это исправить. Это бы мне очень помогло. Благодарю.

1 ответ1

0

Я узнал, как исправить проблему. Тем не менее, это фактически оставляет меня с новым вопросом.

Первое решение: по совпадению я обнаружил, что замена имени хоста из /etc/hosts а именно ssserver на его IP-адрес работает. Итак, я изменил запись в ~/.ssh/config с вышеупомянутого на:

$cat ~/.ssh/config
Host 64.10.18.222
  User ubuntu
  IdentityFile ~/.ssh/id_rsa
  ProxyCommand nc -x 127.0.0.1:1080 %h %p

Теперь на консоли мне просто нужно вызвать ssh -v 64.10.18.222 и это работает.

В качестве альтернативы полная консольная команда:

ssh -v -i ~/.ssh/your_id_key_file_rsa -o ProxyCommand='nc -x 127.0.0.1:1080 %h %p' ubuntu@64.10.18.222

Итак, мой новый вопрос: почему IP-адрес работает, когда имя хоста, указанное в /etc/hosts не работает?

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