GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara ssh melalui Host (jumpserver) untuk mencapai server lain

Dalam panduan ini, kita akan mempelajari cara menyederhanakan proses menggunakan opsi yang disediakan klien ssh termasuk menggunakan SSH ProxyCommand perintah.

Konten terkait:

  • SSH – Membuat dan Bekerja dengan kunci ssh

Skenario SSH

Beginilah cara pengaturan ssh.

+--------------+       +------------+      +-----------+
| Local machine|   ->  | JumpServer | ->   | Dbserver  |
+--------------+       +------------+      +-----------+

Server DB hanya dapat diakses dengan masuk ke server perantara – Server Langsung. Pertama login ke jumpserver

ssh [email protected]

Kemudian dari server lompat kita bisa login ke server db

ssh [email protected]

Menggunakan opsi -J untuk klien ssh terbaru

Untuk klien ssh terbaru, opsi -J memungkinkan Anda menentukan host mana yang akan digunakan sebagai host lompat. Ini formatnya

ssh -J [email protected] [email protected]

Ini adalah cara menghubungkan ke remote menggunakan server lompatan publik

ssh -J [email protected] [email protected]

Jika Anda harus menentukan kunci ssh, gunakan format ini:

ssh -J [email protected] [email protected]  -i ~/.ssh/id_server_key

Menggunakan ProxyCommand saat opsi -J tidak tersedia

Dalam versi openssh yang lebih lama, -J tidak tersedia. Jadi gunakan sintaks berikut:

ssh -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected]

Ini adalah bagaimana saya menggunakan di mesin lokal saya

ssh -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected] -i ~/.ssh/id_rsa

Untuk klien tertua yang tidak mendukung opsi -W

Dalam hal ini ssh -tt memerintah. Alih-alih mengetik dua perintah ssh, saya bisa mengetikkan perintah all-in-one berikut. Ini berguna untuk menghubungkan ke dbserver jarak jauh melalui firewall yang disebut jumpserver sebagai host lompat:

ssh -tt [email protected] ssh -tt [email protected]

Penggunaan:

ssh -tt [email protected] ssh -tt [email protected] -i ~/.ssh/id_rsa

Dimana:

  • The -t opsi diteruskan ke perintah ssh memaksa alokasi pseudo-tty. Ini dapat digunakan untuk menjalankan program berbasis layar sewenang-wenang pada mesin jarak jauh. Beberapa -tt opsi memaksa alokasi tty, meskipun ssh tidak memiliki tty lokal.

Menyimpan konfigurasi di file ~/.ssh/config

Anda dapat menentukan opsi konfigurasi di ~/.ssh/config mengajukan. Seperti ini konfigurasinya, kita tentukan ProxyCommand:

Host dbserver
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh [email protected] -W %h:%p
    IdentityFile ~/.ssh/id_rsa

Anda juga dapat menggunakan ProxyJump

Host dbserver
    Hostname 10.70.1.190
    User ubuntu
    ProxyJump [email protected]
    IdentityFile ~/.ssh/id_rsa

Anda juga dapat secara rekursif merantai beberapa host lompatan:

Host jumpsrver
    Hostname 13.36.234.247
    User rocky


Host dbserver2
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh -W %h:%p jumpsrver
    IdentityFile ~/.ssh/id_rsa

Host dbserver3
    Hostname 10.70.1.190
    User ubuntu
    ProxyCommand ssh -W %h:%p dbserver2
    IdentityFile ~/.ssh/id_rsa

Melakukan ini akan mem-proxy melalui host lain

ssh dbserver3

Linux
  1. Bagaimana cara meningkatkan batas waktu Koneksi SSH

  2. Ssh – Bagaimana Menghubungkan Ke Pc Melalui Pc Lain Menggunakan Ssh?

  3. Ssh – Terowongan Lalu Lintas Melalui Mesin Lain Melalui Ssh?

  1. Bagaimana Cara Ssh Ke Server Menggunakan Server Lain??

  2. Bagaimana Cara Merutekan Internet Melalui Terowongan Ssh?

  3. Bagaimana menjaga sesi SSH tetap hidup

  1. Cara Membuat Virtual Host Nginx (Blok Server)

  2. Cara SSH di Linux dari Android

  3. Cara Mengatur SSH Tanpa Kata Sandi di Linux