GNU/Linux >> Belajar Linux >  >> Linux

Gunakan File Konfigurasi SSH untuk Mengelola Koneksi SSH ke Berbagai Server Jarak Jauh

Jika Anda sedikit familiar dengan SSH, Anda tahu bahwa Anda dapat menggunakannya untuk terhubung ke sistem Linux jarak jauh.

Menggunakan SSH untuk terhubung ke sistem jarak jauh itu sederhana. Yang perlu Anda lakukan adalah menggunakan perintah seperti ini:

ssh [email protected]_IP 

Ini terhubung ke port SSH default 22. Anda dapat menentukan port juga jika Anda mau.

Sekarang ini semua jelas dan sederhana jika Anda hanya memiliki satu server. Bahkan jika Anda tidak mengingat alamat IP server, Anda dapat melakukan penelusuran terbalik ke riwayat menggunakan pintasan keyboard terminal yang terkenal Ctrl+R dan menemukan perintah SSH yang Anda gunakan sebelumnya.

Tetapi segalanya menjadi rumit ketika Anda memiliki beberapa server untuk dikelola. Saya memiliki sekitar sepuluh server yang saya sambungkan dari waktu ke waktu. Beberapa server produksi dan beberapa server pengujian.

Sekarang melacak server ini tidak mudah. Bahkan jika saya dapat menemukan perintah SSH dari histori, sulit untuk menebak IP mana yang dimiliki server mana.

Tentu saja, saya dapat membuka dasbor saya di Linode, UpCloud, DigitalOcean, dan Google Cloud untuk mendapatkan IP atau menyimpan daftar di sistem lokal saya.

Cara yang lebih baik dan lebih mudah adalah dengan menggunakan file konfigurasi SSH.

Menggunakan file konfigurasi SSH untuk menghubungkan ke server jarak jauh dengan mudah

File konfigurasi SSH memungkinkan Anda membuat profil yang berbeda untuk konfigurasi host yang berbeda. Tidak ada batasan untuk profil tersebut dan Anda dapat menambahkan sebanyak mungkin.

Jadi, jika Anda terhubung ke beberapa sistem jarak jauh melalui SSH, membuat profil SSH akan menjadi langkah yang baik untuk menghemat waktu Anda.

Mari saya tunjukkan cara menggunakannya.

Langkah 1:Buat file konfigurasi SSH

Saat Anda menginstal SSH, Anda akan memiliki direktori ~/.ssh yang dibuat secara otomatis. Direct ini berisi kunci publik Anda, kunci pribadi file known_hosts. Konfigurasi Anda juga disimpan di sini.

Setidaknya di Ubuntu, file konfigurasi SSH tidak dibuat secara default. Anda dapat dengan mudah membuat file ini menggunakan perintah sentuh seperti ini:

touch ~/.ssh/config

Langkah 2:Tambahkan profil SSH di file konfigurasi

Sekarang setelah Anda memiliki file konfigurasi SSH, Anda dapat mengeditnya menggunakan Vim atau Nano. Mari saya tunjukkan contoh sintaks yang harus Anda ikuti.

Katakanlah Anda terhubung ke server dengan IP 275.128.172.46. Nama pengguna Anda adalah Alice dan server digunakan untuk menghosting situs web Anda. Untuk memperkuat keamanan SSH, Anda menggunakan port 1500 alih-alih port SSH default 22.

Anda dapat menambahkan semua informasi ini dengan cara berikut di file ~/.ssh/config Anda:

Host website
        Hostname 275.128.172.46
        User alice
        Port 1500

Simpan saja informasi dalam file. Tidak perlu memulai ulang layanan apa pun.

Sekarang, daripada menulis perintah panjang seperti ini:

ssh [email protected] -p 1500

Anda bisa menggunakan perintah ini (penyelesaian tab juga berfungsi):

ssh website

Saat Anda menjalankan perintah di atas, ssh mencari situs web bernama Host di ~/.ssh/config. Jika menemukan host dengan nama itu, ia mendapatkan semua informasi terkait dan menggunakannya untuk membuat koneksi SSH.

Anda mungkin bertanya-tanya tentang beberapa hal, jadi saya akan menyebutkannya di sini:

  • Tidak ada batasan spasi atau indentasi tab saat memasukkan informasi host. Spasi atau indentasi tab digunakan untuk membuat file konfigurasi mudah dimengerti.
  • Nama Host dapat berupa alamat IP server atau nama host yang dapat diselesaikan di jaringan Anda.
  • Semua parameter seperti nama host, pengguna, dan port bersifat opsional. Namun, saya pribadi menyarankan untuk menyimpan setidaknya nama host karena itulah yang Anda butuhkan (dan Anda lupa) hampir sepanjang waktu.
  • Jika file konfigurasi SSH Anda salah dikonfigurasi, ini akan menyebabkan kesalahan saat Anda mencoba menggunakannya untuk koneksi SSH.
  • Anda tidak dapat menyimpan kata sandi di konfigurasi SSH. Saya menyarankan untuk menambahkan kunci SSH publik Anda ke server untuk akses mudah.

Langkah 3:Menambahkan beberapa profil dalam file konfigurasi SSH

Langkah sebelumnya memberi Anda gambaran tentang cara menambahkan profil SSH. Mari kita lanjutkan ke langkah berikutnya dengan menambahkan beberapa profil di dalamnya.

Berikut tampilan file konfigurasi SSH sekarang:

Host website
        Hostname 275.128.172.46
        User alice
        Port 1500
Host forum-server
        Hostname 275.128.172.47
        User alice

Host main-server
        Hostname 275.128.172.49

Host common-test-server
        Hostname test-server

Host *
        User root

Kali ini, saya telah menambahkan empat profil SSH yang berbeda di dalamnya.

Apakah Anda memperhatikan Host * entri di akhir file? Anda dapat menggunakan entri ini untuk menambahkan parameter umum ke semua profil jika parameter tersebut belum disebutkan untuk profil secara eksplisit.

Jadi jika saya mencoba menggunakan profil SSH server utama, maka secara otomatis akan mengambil pengguna root.

ssh main-server =ssh [email protected]

Urutan konfigurasi SSH

Konfigurasi ssh mengikuti urutan berikut:

  • opsi baris perintah
  • file konfigurasi pengguna (~/.ssh/config)
  • file konfigurasi seluruh sistem (/etc/ssh/ssh_config)

Ini berarti bahwa prioritas diberikan pada perintah yang Anda masukkan dan kemudian perintah itu melihat ke ~/.ssh/config dan kemudian di /etc/ssh/ssh_config.

Jadi, jika Anda ingin mengganti profil, Anda dapat melakukannya menggunakan opsi -o dari perintah ssh.

Misalnya, jika saya menggunakan perintah ini:

ssh -o "User=bob" website

Ini akan mengambil pengguna bob alih-alih pengguna alice seperti yang didefinisikan di ~/.ssh/config (pada langkah sebelumnya).

Ada banyak lagi konfigurasi SSH

Sejujurnya, masih banyak lagi file konfigurasi SSH yang tidak dapat dibahas dalam satu artikel. Anda dapat menggunakan pencocokan nama/IP, subnet, dan yang tidak.

Ruang lingkup artikel ini adalah untuk memperkenalkan Anda ke konfigurasi SSH dan membantu Anda membuat profil SSH agar mudah terhubung ke berbagai sistem Linux jarak jauh.

Anda selalu dapat merujuk ke halaman manual ssh_config untuk mengetahui lebih banyak tentang parameter yang dapat Anda gunakan saat membuat file konfigurasi SSH Anda.

Saya harap tip SSH ini bermanfaat bagi Anda. Jika Anda sudah menggunakan file konfigurasi SSH dan memiliki beberapa tip bagus, bagikan dengan kami semua di bagian komentar.


Linux
  1. Ssh – Salin File Kembali Ke Sistem Lokal Dengan Ssh?

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

  3. Bagaimana cara menggunakan sed untuk mengganti variabel file konfigurasi?

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

  2. Gunakan scp untuk menyalin file ke server yang berbeda

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

  1. Cara Mengonfigurasi Koneksi SSH Khusus untuk Menyederhanakan Akses Jarak Jauh

  2. Cara Menggunakan Tunneling SSH untuk Mengakses Server yang Dibatasi

  3. Cara Menggunakan Perintah SFTP untuk Transfer File Aman