GNU/Linux >> Belajar Linux >  >> Linux

Ssh – Pengaturan File Konfigurasi Ssh yang Benar Untuk Terowongan ke Mesin ke-3?

Saya mencoba melakukan tunnel ke server melalui server jembatan. Sejauh ini, saya bisa membuatnya bekerja dari shell perintah dengan benar menggunakan perintah berikut:

ssh -A -t [email protected] ssh -A [email protected]

Tapi saya sudah mencoba untuk membungkus ini ke dalam ~/.ssh/config saya file dan saya memiliki masalah. Saya sudah mencoba:

Host axp
  User          remote_userid
  HostName      remoteserver.com
  IdentityFile  ~/.ssh/id_rsa.eric
  ProxyCommand ssh -A -t [email protected]_userid.com ssh -A [email protected]%h

Tetapi ketika saya melakukannya, saya mendapatkan pesan kesalahan berikut dari remoteserver.com dan saya tidak yakin apa penyebabnya:

ksh:SSH-2.0-OpenSSH_6.8^M:tidak ditemukan

Saya tahu itu ketika saya masuk ke remoteserver.com , shell saya adalah /usr/bin/ksh .

Saya sudah mencoba menambahkan argumen jalur ke perintah ssh di file konfigurasi, tetapi tidak ada bedanya.

Ada ide apa itu?

Jawaban yang Diterima:

Jawaban Jakuje benar, tetapi karena OpenSSH 7.3 , Anda sekarang dapat menggunakan -J ProxyJump yang lebih mudah. Lihat catatan saya:

OpenSSH 7.3 atau lebih

Gunakan ProxyJump . Seperti yang dijelaskan dalam manual:

-J [[email protected]]host[:port]
Hubungkan ke host target dengan terlebih dahulu membuat koneksi ssh ke jump host dan kemudian membuat penerusan TCP ke tujuan akhir dari sana. Beberapa lompatan lompat dapat ditentukan dengan dipisahkan oleh karakter koma. Ini adalah jalan pintas untuk menentukan arahan konfigurasi ProxyJump.

ProxyJump ~/.ssh/config contoh

~/.ssh/config

Host server1
  Hostname server1.example.com
  IdentityFile ~/.ssh/id_rsa

Host server2_behind_server1
  Hostname server2.example.com
  IdentityFile ~/.ssh/id_rsa
  ProxyJump server1

Terhubung dengan

ssh server2_behind_server1 -v

Tambahkan -v untuk keluaran verbose

ProxyJump -J Contoh baris perintah

~/.ssh/config

Host server1
  Hostname server1.example.com
  IdentityFile ~/.ssh/id_rsa

Host server2
  Hostname server2.example.com
  IdentityFile ~/.ssh/id_rsa

Terhubung dengan

ssh server2 -J server1 -v

Atau gunakan -o

ssh server2 -o 'ProxyJump server1' -v

OpenSSH 5.4 atau lebih

Gunakan ProxyCommand dengan -W

~/.ssh/config

Host server1
  Hostname server1.example.com
  IdentityFile ~/.ssh/id_rsa

Host server2
  Hostname server2.example.com
  IdentityFile ~/.ssh/id_rsa
  ProxyCommand ssh server1 -W %h:%p

Terhubung dengan

ssh server2 -v

Atau gunakan -o

ssh server2 -o 'ProxyCommand ssh server1 -W %h:%p' -v

OpenSSH di bawah 5.4

~/.ssh/config

Host server1
  Hostname server1.example.com
  IdentityFile ~/.ssh/id_rsa

Host server2
  Hostname server2.example.com
  IdentityFile ~/.ssh/id_rsa
  ProxyCommand ssh server1 nc %h %p 2> /dev/null

Terhubung dengan:

ssh server2 -v

Atau gunakan -o

ssh server2 -o 'ProxyCommand ssh server1 nc %h %p 2> /dev/null' -v

Sumber

-J ditambahkan di OpenSSH 7.3

  • ssh(1):Tambahkan opsi ProxyJump dan tanda baris perintah -J
    yang sesuai untuk memungkinkan tipuan yang disederhanakan melalui satu atau beberapa SSH
    bastion atau “jump host”.

-W ditambahkan di OpenSSH 5.4

  • Menambahkan 'mode netcat' ke ssh(1):“ssh -W host:port …” Ini menghubungkan
    stdio pada klien ke satu port forward di server. Ini
    memungkinkan, misalnya, menggunakan ssh sebagai ProxyCommand untuk merutekan koneksi
    melalui server perantara. bz#1618

Linux
  1. Menjalankan file exe atau bat pada mesin windows jarak jauh dari * nix

  2. Pertahankan sesi SSH tetap hidup

  3. izin ditolak pada file authorized_key

  1. Lokasi non-default untuk file konfigurasi ssh di Linux

  2. Terowongan SSH HTTPS

  3. SSH - Cara memasukkan perintah -t di file ~/.ssh/config

  1. Teruskan SSH melalui terowongan SSH

  2. Bisakah Anda memiliki lebih dari satu file ~/.ssh/config?

  3. menambahkan kata sandi ke .ssh/config