Cara Mengkonfigurasi Koneksi SSH Kustom Untuk Menyederhanakan Akses Jarak Jauh

Cara Mengkonfigurasi Koneksi SSH Kustom Untuk Menyederhanakan Akses Jarak Jauh

Ssh (Klien SSH) adalah program untuk mengakses mesin dari jarak jauh, memungkinkan pengguna untuk menjalankan perintah pada host jarak jauh. Ini adalah salah satu metode yang paling disarankan untuk masuk ke host jarak jauh, karena dirancang untuk menyediakan komunikasi terenkripsi yang aman antara dua host yang tidak dipercayai melalui jaringan yang tidak aman.

Ssh menggunakan file konfigurasi spesifik pengguna maupun pengguna (khusus) pengguna. Dalam tutorial ini, kami akan menjelaskan cara membuat file konfigurasi SSH khusus dan menggunakan opsi tertentu untuk terhubung ke host jarak jauh.

Persyaratan:

  1. Anda harus menginstal OpenSsh Client di desktop Linux Anda.
  2. Pahami opsi umum yang digunakan untuk koneksi jarak jauh melalui SSH.

File konfigurasi klien ssh

Di bawah ini adalah lokasi file konfigurasi klien SSH:

  1. /etc/ssh/ssh_config - Ini adalah file konfigurasi default dan seluruh sistem. Ini berisi pengaturan yang berlaku untuk semua pengguna mesin klien SSH.
  2. ~/.ssh/config atau $ Rumah/.ssh/config - adalah file konfigurasi khusus pengguna/kustom. Itu memiliki konfigurasi yang berlaku untuk pengguna tertentu. Oleh karena itu ia mengesampingkan pengaturan default dalam file konfigurasi sistem-lebar. Ini adalah file yang akan kami buat dan gunakan.

Secara default, pengguna diautentikasi di SSH menggunakan kata sandi, namun, Anda dapat mengatur login tanpa kata sandi SSH menggunakan keygen ssh dalam 5 langkah sederhana.

Catatan: Jika direktori ~/.ssh tidak ada di sistem desktop Anda, buat dengan izin berikut.

$ mkdir -p ~/.ssh $ chmod 0700 ~/.ssh 

Itu Chmod Perintah di atas menyiratkan bahwa hanya pengguna yang dapat membaca, menulis, dan menjalankan izin pada direktori seperti yang disyaratkan oleh pengaturan SSH.

Cara membuat file konfigurasi ssh spesifik pengguna

File ini biasanya tidak dibuat secara default, jadi Anda perlu membuatnya dengan izin baca/tulis hanya untuk pengguna.

$ touch ~/.ssh/config $ chmod 0700 ~/.ssh/config 

File di atas berisi bagian yang ditentukan oleh spesifikasi host, dan bagian hanya diterapkan pada host yang cocok dengan salah satu pola yang ditetapkan dalam spesifikasi.

Format konvensional ~/.ssh/config adalah sebagai berikut, dan semua garis kosong serta garis yang dimulai dengan '#' dianggap sebagai komentar:

Host host1 ssh_option1 = value1 ssh_option2 = value1 value2 ssh_option3 = value1 host host2 ssh_option1 = value1 ssh_option2 = value1 value2 host * ssh_option1 = value1 ssh_option2 = value1 value2 

Dari format di atas:

  1. Tuan rumah host1 - adalah definisi header untuk tuan rumah, Di sinilah spesifikasi host dimulai dan berakhir dengan definisi header berikutnya, Host host2 membuat bagian.
  2. tuan rumah, host2 hanya alias host untuk digunakan pada baris perintah, mereka bukan nama host yang sebenarnya dari host jarak jauh.
  3. Opsi konfigurasi seperti ssh_option1 = value1, ssh_option2 = value1 value2 berlaku untuk host yang cocok dan harus di -indentasi untuk pemformatan yang terorganisir dengan baik.
  4. Untuk opsi seperti ssh_option2 = value1 value2, nilai nilai1 dipertimbangkan terlebih dahulu, lalu nilai2.
  5. Definisi header Tuan rumah * (Di mana * adalah pola - wildcard yang cocok dengan nol atau lebih karakter) akan cocok dengan nol atau lebih host.

Masih mempertimbangkan format di atas, ini adalah bagaimana SSH membaca file konfigurasi. Jika Anda menjalankan perintah SSH untuk mengakses dari jarak jauh tuan rumah Seperti begitu:

$ ssh host1 

Perintah SSH di atas akan melakukan hal -hal berikut:

  1. Cocokkan alias tuan rumah tuan rumah Di file konfigurasi dan menerapkan opsi yang ditetapkan di bawah header definisi, Tuan rumah host1.
  2. Kemudian pindah ke bagian host berikutnya, Host host2 dan menemukan bahwa nama yang disediakan pada baris perintah tidak cocok, jadi tidak ada opsi yang digunakan dari sini.
  3. Itu mulai ke bagian terakhir, Tuan rumah *, Yang cocok dengan semua host. Di sini, ini menerapkan semua opsi di bagian ini ke koneksi host. Tetapi tidak dapat mengesampingkan nilai opsi apa pun yang sudah digunakan di bagian sebelumnya.
  4. Hal yang sama berlaku untuk host2.

Cara menggunakan file konfigurasi ssh spesifik pengguna

Setelah Anda memahami cara kerja file konfigurasi klien SSH, Anda dapat membuatnya sebagai berikut. Ingatlah untuk menggunakan opsi dan nilai (alias host, nomor port, nama pengguna dan sebagainya) yang berlaku untuk lingkungan server Anda.

Buka file konfigurasi dengan editor favorit Anda:

$ vi ~//.ssh/config 

Dan tentukan bagian yang diperlukan:

Tuan rumah Fedora25 Hostname 192.168.56.15 port 22 Forwardx11 Tidak ada host centos7 Hostname 192.168.56.10 port 22 forwardx11 no host Ubuntu Hostname 192.168.56.5 port 2222 Forwardx11 ya host * User Tecmint IdentityFile ~/.SSH/ID_RSA Protokol 2 Kompresi Ya ServeralIveInterval 60 Serveralivecountmax 20 Info Loglevel 

Penjelasan terperinci tentang opsi konfigurasi SSH di atas.

  1. Nama host - Menentukan nama host nyata yang akan masuk, sebagai alternatif, Anda dapat menggunakan alamat IP numerik, itu juga diizinkan (baik pada baris perintah maupun di Nama host spesifikasi).
  2. Pengguna - Menentukan pengguna untuk masuk sebagai.
  3. Pelabuhan - Menetapkan nomor port untuk terhubung pada host jarak jauh, defaultnya 22. Gunakan nomor port yang dikonfigurasi dalam file konfigurasi SSHD host jarak jauh.
  4. Protokol - Opsi ini mendefinisikan versi protokol yang harus didukung SSH dalam urutan preferensi. Nilai -nilai yang biasa adalah '1' Dan '2', beberapa versi harus dipisahkan koma.
  5. IdentityFile - Menentukan file dari mana identitas otentikasi DSA, ED25519, RSA atau ECDSA dibaca.
  6. Forwardx11 - menentukan apakah koneksi X11 akan secara otomatis dialihkan melalui saluran aman dan set tampilan. Itu memiliki dua nilai yang mungkin "Ya" atau "TIDAK".
  7. Kompresi - itu digunakan untuk mengatur kompresi selama koneksi jarak jauh dengan "Ya" nilai. Standarnya adalah "TIDAK".
  8. ServeralIveInterval - Menetapkan interval batas waktu dalam hitungan detik setelah itu jika tidak ada respons (atau data) yang diterima dari server, SSH akan mengirim pesan melalui saluran terenkripsi untuk meminta tanggapan dari server. Nilai defaultnya adalah 0, artinya tidak ada pesan yang akan dikirim ke server, atau 300 Jika opsi BatchMode telah ditentukan.
  9. Serveralvecountmax - Menetapkan jumlah pesan server hidup yang dapat dikirim tanpa SSH menerima respons apa pun dari server.
  10. Loglevel - mendefinisikan level verbositas yang digunakan saat mencatat pesan dari SSH. Nilai yang diizinkan meliputi: tenang, fatal, kesalahan, info, verbose, debug, debug1, debug2, dan debug3. Dan defaultnya adalah info.

Cara standar untuk menghubungkan ke host Linux jarak jauh (CentOS 7 - dalam kasus saya), yang didefinisikan dalam bagian dua file konfigurasi di atas, kami biasanya akan mengetik perintah di bawah ini:

$ ssh -i ~/.ssh/id_rsa -p 22 [email dilindungi] 

Namun, dengan menggunakan file konfigurasi klien SSH, kami dapat dengan mudah mengetik perintah berikut:

$ ssh centos7 

Anda dapat menemukan lebih banyak opsi dan contoh penggunaan di halaman SSH Client Config Man:

$ man ssh_config 

Itu saja untuk saat ini, di panduan ini, kami menjelaskan cara menggunakan file konfigurasi klien SSH khusus pengguna (khusus) di Linux. Gunakan formulir umpan balik di bawah ini untuk menulis kembali kepada kami tentang artikel ini.