GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengonfigurasi Koneksi SSH Khusus untuk Menyederhanakan Akses Jarak Jauh

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

SSH menggunakan file konfigurasi seluruh sistem maupun khusus pengguna (kustom). 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 klien OpenSSH 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 seluruh sistem. Ini berisi pengaturan yang berlaku untuk semua pengguna mesin klien ssh.
  2. ~/.ssh/config atau $HOME/.ssh/config – adalah file konfigurasi khusus pengguna/kustom. Ini memiliki konfigurasi yang berlaku untuk pengguna tertentu. Oleh karena itu mengesampingkan pengaturan default dalam file konfigurasi seluruh sistem. Ini adalah file yang akan kita buat dan gunakan.

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

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

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

chmod perintah di atas menyiratkan bahwa hanya pengguna yang dapat membaca, menulis, dan menjalankan izin pada direktori seperti yang dipersyaratkan oleh pengaturan ssh.

Cara Membuat File Konfigurasi SSH Khusus 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 ke host yang cocok dengan salah satu pola yang ditetapkan dalam spesifikasi.

Format konvensional ~/.ssh/config adalah sebagai berikut, dan semua baris kosong serta baris 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 tuan rumah1 – adalah definisi header untuk host1 , di sinilah spesifikasi host dimulai dan diakhiri dengan definisi header berikutnya, Host host2 membuat bagian.
  2. host1 , host2 hanyalah alias host untuk digunakan pada baris perintah, itu bukan nama host sebenarnya dari host jarak jauh.
  3. Opsi konfigurasi seperti ssh_option1=value1 , ssh_option2=nilai1 nilai2 berlaku untuk host yang cocok dan harus diindentasi untuk pemformatan yang terorganisir dengan baik.
  4. Untuk opsi seperti ssh_option2=value1 value2 , nilai nilai1 dipertimbangkan terlebih dahulu, lalu nilai2 .
  5. Definisi header Host * (di mana * adalah pola – karakter pengganti yang cocok dengan nol atau lebih karakter) akan cocok dengan nol atau lebih host.

Masih mempertimbangkan format di atas, beginilah cara ssh membaca file konfigurasi. Jika Anda menjalankan perintah ssh untuk mengakses host1 dari jarak jauh seperti ini:

$ ssh host1

Perintah ssh di atas akan melakukan hal-hal berikut:

  1. cocok dengan alias host host1 di file konfigurasi dan menerapkan opsi yang ditetapkan di bawah tajuk definisi, Host host1 .
  2. lalu pindah ke bagian host berikutnya, Host host2 dan menemukan bahwa nama yang diberikan pada baris perintah tidak cocok, jadi tidak ada opsi yang digunakan dari sini.
  3. Ini berlanjut ke bagian terakhir, Host * , yang cocok dengan semua host. Di sini, ini menerapkan semua opsi di bagian ini ke koneksi host. Tapi itu tidak bisa mengesampingkan nilai opsi apa pun yang sudah digunakan di bagian sebelumnya.
  4. Hal yang sama berlaku untuk host2 .

Cara Menggunakan File Konfigurasi SSH Khusus 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:

Host fedora25
        HostName 192.168.56.15
        Port 22
        ForwardX11 no

Host centos7
        HostName 192.168.56.10
        Port 22
        ForwardX11 no

Host ubuntu
        HostName 192.168.56.5
        Port 2222
        ForwardX11 yes

Host *
        User tecmint
        IdentityFile ~/.ssh/id_rsa
        Protocol 2
        Compression yes
        ServerAliveInterval 60
        ServerAliveCountMax 20
        LogLevel INFO

Penjelasan rinci tentang opsi konfigurasi ssh di atas.

  1. Nama Inang – mendefinisikan nama host asli untuk login, sebagai alternatif, Anda dapat menggunakan alamat IP numerik, ini juga diizinkan (baik di baris perintah dan di HostName spesifikasi).
  2. Pengguna – menentukan pengguna untuk masuk sebagai.
  3. Pelabuhan – menyetel nomor port untuk terhubung pada host jarak jauh, defaultnya adalah 22 . Gunakan nomor port yang dikonfigurasi dalam file konfigurasi sshd host jarak jauh.
  4. Protokol – opsi ini menentukan versi protokol yang harus didukung ssh dalam urutan preferensi. Nilai yang biasa digunakan adalah ‘1’ dan ‘2’ , beberapa versi harus dipisahkan dengan koma.
  5. File Identitas – menentukan file dari mana identitas otentikasi DSA, Ed25519, RSA atau ECDSA pengguna dibaca.
  6. MajuX11 – menentukan apakah koneksi X11 akan dialihkan secara otomatis melalui saluran aman dan set DISPLAY. Ini memiliki dua kemungkinan nilai “ya” atau “tidak” .
  7. Kompresi – digunakan untuk menyetel kompresi selama koneksi jarak jauh dengan “ya” nilai. Standarnya adalah “tidak” .
  8. ServerAliveInterval – menetapkan interval waktu habis dalam hitungan detik setelah itu jika tidak ada respons (atau data) yang diterima dari server, ssh akan mengirim pesan melalui saluran terenkripsi untuk meminta respons dari server. Nilai defaultnya adalah 0 , artinya tidak ada pesan yang akan dikirim ke server, atau 300 jika opsi BatchMode telah ditentukan.
  9. ServerAliveCountMax – menyetel jumlah pesan hidup server yang dapat dikirim tanpa ssh menerima respons apa pun dari server.
  10. Level Log – mendefinisikan tingkat verbositas yang digunakan saat mencatat pesan dari ssh. Nilai yang diizinkan meliputi:QUIET, FATAL, ERROR, 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), ditentukan di bagian dua dari file konfigurasi di atas, kami biasanya mengetikkan perintah di bawah ini:

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

Namun, dengan menggunakan file konfigurasi klien ssh, kita cukup mengetikkan perintah berikut:

$ ssh centos7 

Anda dapat menemukan lebih banyak opsi dan contoh penggunaan di halaman manual konfigurasi klien ssh:

$man ssh_config

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


Linux
  1. Cara mengkonfigurasi akses MySQL jarak jauh di cPanel

  2. Cara Mengonfigurasi Otentikasi Berbasis Kunci SSH Di Linux

  3. Izinkan Akses Ssh Jarak Jauh?

  1. Cara Menemukan Koneksi SSH Aktif di Linux

  2. Cara Menggunakan Tunneling SSH untuk Mengakses Server yang Dibatasi

  3. SSH:Di jaringan pribadi cara mengakses mesin jarak jauh dari mesin sumber tanpa menggunakan kunci publik ssh

  1. Bagaimana Mengkonfigurasi Font Pada Koneksi X Jarak Jauh (xdmcp Vs. Ssh)?

  2. Cara Menghubungkan Host Jarak Jauh Menggunakan Perintah ssh

  3. Terowongan vpn akses jarak jauh SSH