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