Pertanyaan SSH meloncati host kesalahan


Saya kesulitan memahami perilaku aneh dari host ssh jump.
Saya memiliki konfigurasi ini di ~ / .ssh / config saya:

Host bastion-server
  Hostname server.bastion.com
  ForwardAgent yes
  User user
Host internal-server
  Hostname 10.0.0.123
  User user2
Host *%via-bastion
  ProxyCommand ssh bastion-server -W $(echo %h | cut -d%% -f1):%p

ketika saya mencoba untuk terhubung menggunakan perintah ssh internal-server%via-bastion itu melempar kesalahan ini:

saluran 0: buka gagal: secara administratif dilarang: buka gagal
ssh_exchange_identification: Koneksi ditutup oleh host jarak jauh

Namun, ketika saya mendefinisikan

Host bastion-server
  Hostname server.bastion.com
  ForwardAgent yes
  User user
Host internal-server
  Hostname 10.0.0.123
  User user2
  ProxyCommand ssh bastion-server -W %h:%p

dan digunakan ssh internal-server ini bekerja dengan sempurna.

Ada gagasan mengapa itu terjadi?


2
2017-12-08 11:39


asal




Jawaban:


Dalam kasus pertama, perintah proxy Anda diperluas ke:

ssh bastion-server -W internal-server:22

Yang kedua,

ssh bastion-server -W 10.0.0.123:22

Yang pertama tidak berfungsi karena server bastion Anda tidak mengenali namanya internal-server.

(Terjemahan tidak terjadi di sisi klien, karena klien tidak mengerti bahwa itu harus dilihat Host internal-server ketika kamu berlari ssh internal-server%via-bastion - Sejauh menyangkut, itu adalah nama yang sepenuhnya berbeda.)


4
2017-12-08 12:12