Cara Mengkonfigurasi Sambungan SSH Custom Untuk Memudahkan Akses Jauh

Cara Mengkonfigurasi Sambungan SSH Custom Untuk Memudahkan Akses Jauh

SSH (Pelanggan SSH) adalah program untuk mengakses mesin jauh dari jauh, ia membolehkan pengguna melaksanakan arahan pada tuan rumah terpencil. Ini adalah salah satu kaedah yang paling disyorkan untuk log masuk ke tuan rumah terpencil, kerana ia direka untuk menyediakan komunikasi yang disulitkan dengan selamat antara dua tuan rumah yang tidak dipercayai melalui rangkaian yang tidak selamat.

SSH menggunakan kedua-dua sistem konfigurasi khusus (adat). Dalam tutorial ini, kami akan menerangkan cara membuat fail konfigurasi SSH tersuai dan menggunakan pilihan tertentu untuk disambungkan ke tuan rumah jauh.

Keperluan:

  1. Anda mesti memasang klien openssh di desktop linux anda.
  2. Fahami pilihan biasa yang digunakan untuk sambungan jauh melalui SSH.

Fail konfigurasi pelanggan ssh

Berikut adalah lokasi fail konfigurasi klien SSH:

  1. /etc/ssh/ssh_config - Ini adalah fail konfigurasi lalai, seluruh sistem. Ia mengandungi tetapan yang digunakan untuk semua pengguna mesin klien SSH.
  2. ~/.ssh/config atau $ Rumah/.ssh/config - adalah fail konfigurasi khusus/khusus pengguna. Ia mempunyai konfigurasi yang digunakan untuk pengguna tertentu. Oleh itu, ia mengatasi tetapan lalai dalam fail konfigurasi seluruh sistem. Ini adalah fail yang akan kita buat dan gunakan.

Secara lalai, pengguna disahkan dalam SSH menggunakan kata laluan, bagaimanapun, anda boleh menyiapkan log masuk tanpa kata laluan SSH menggunakan SSH Keygen dalam 5 langkah mudah.

Catatan: Sekiranya direktori ~/.SSH tidak wujud di sistem desktop anda, buatnya dengan kebenaran berikut.

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

The chmod Perintah di atas menunjukkan bahawa hanya pengguna yang dapat membaca, menulis dan melaksanakan keizinan pada direktori seperti yang dikehendaki oleh tetapan SSH.

Cara membuat fail konfigurasi SSH khusus pengguna

Fail ini biasanya tidak dibuat secara lalai, jadi anda perlu menciptanya dengan kebenaran baca/tulis hanya untuk pengguna.

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

Fail di atas mengandungi bahagian yang ditakrifkan oleh spesifikasi tuan rumah, dan seksyen hanya digunakan untuk tuan rumah yang sepadan dengan salah satu corak yang ditetapkan dalam spesifikasi.

Format konvensional ~/.ssh/config adalah seperti berikut, dan semua garis kosong serta garis bermula dengan '#' dianggap sebagai komen:

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. Host Host1 - adalah definisi header untuk HOST1, Di sinilah spesifikasi tuan rumah bermula dan ia berakhir dengan definisi header seterusnya, Host Host2 membuat seksyen.
  2. HOST1, HOST2 hanya alias tuan rumah untuk digunakan pada baris arahan, mereka bukan nama host sebenar tuan rumah terpencil.
  3. Pilihan konfigurasi seperti ssh_option1 = value1, ssh_option2 = nilai1 nilai2 Memohon kepada tuan rumah yang dipadankan dan harus diindentifikasi untuk pemformatan yang teratur.
  4. Untuk pilihan seperti ssh_option2 = nilai1 nilai2, nilai nilai1 dianggap terlebih dahulu nilai2.
  5. Definisi header Tuan rumah * (di mana * adalah corak - kad liar yang sepadan dengan sifar atau lebih aksara) akan sepadan dengan sifar atau lebih tuan rumah.

Masih mempertimbangkan format di atas, ini adalah bagaimana SSH membaca fail konfigurasi. Sekiranya anda melaksanakan arahan SSH untuk mengakses dari jauh HOST1 Seperti So:

$ ssh host1 

Perintah SSH di atas akan melakukan perkara -perkara berikut:

  1. Padankan alias tuan rumah HOST1 dalam fail konfigurasi dan menggunakan pilihan yang ditetapkan di bawah tajuk definisi, Host Host1.
  2. kemudian bergerak ke bahagian tuan rumah seterusnya, Host Host2 dan mendapati bahawa nama yang diberikan pada baris arahan tidak sepadan, jadi tiada pilihan digunakan dari sini.
  3. Ia diteruskan ke bahagian terakhir, Tuan rumah *, yang sepadan dengan semua tuan rumah. Di sini, ia menggunakan semua pilihan dalam bahagian ini ke sambungan tuan rumah. Tetapi ia tidak dapat menimpa sebarang nilai pilihan yang telah digunakan di bahagian sebelumnya.
  4. Perkara yang sama berlaku untuk HOST2.

Cara Menggunakan Fail Konfigurasi SSH Khusus Pengguna

Sebaik sahaja anda memahami bagaimana fail konfigurasi klien SSH berfungsi, anda boleh menciptanya seperti berikut. Ingat untuk menggunakan pilihan dan nilai (alias host, nombor port, nama pengguna dan sebagainya) yang terpakai kepada persekitaran pelayan anda.

Buka fail konfigurasi dengan editor kegemaran anda:

$ vi ~/.ssh/config 

Dan menentukan bahagian yang diperlukan:

Tuan rumah Fedora25 HostName 192.168.56.15 port 22 forwardx11 tiada tuan rumah Centos7 HostName 192.168.56.10 port 22 forwardx11 tiada tuan rumah Ubuntu HostName 192.168.56.5 port 2222 forwardx11 ya tuan rumah * Pengguna tecmint identityfile ~/.SSH/ID_RSA Protokol 2 Mampatan Ya ServeraliveInterval 60 ServeraliveCountmax 20 Loglevel Maklumat 

Penjelasan terperinci mengenai pilihan konfigurasi SSH di atas.

  1. Nama Host - mentakrifkan nama tuan rumah sebenar untuk log masuk, sebagai alternatif, anda boleh menggunakan alamat IP angka, ia juga dibenarkan (kedua -duanya di baris arahan dan di Nama Host spesifikasi).
  2. Pengguna - Menentukan pengguna untuk log masuk sebagai.
  3. Pelabuhan - Menetapkan nombor port untuk menyambung pada hos jauh, lalai adalah 22. Gunakan nombor port yang dikonfigurasikan dalam fail konfigurasi SSHD host jauh.
  4. Protokol - Pilihan ini mentakrifkan versi protokol SSH harus menyokong mengikut urutan keutamaan. Nilai biasa adalah '1' dan '2', pelbagai versi mesti dipisahkan koma.
  5. IdentityFile - Menentukan fail dari mana identiti pengesahan DSA, ED25519, RSA atau ECDSA pengguna dibaca.
  6. ForwardX11 - mentakrifkan sama ada sambungan x11 akan diarahkan secara automatik melalui saluran selamat dan paparan set. Ia mempunyai dua nilai yang mungkin "Ya" atau "Tidak".
  7. Mampatan - ia digunakan untuk menetapkan mampatan semasa sambungan jauh dengan "Ya" nilai. Lalai adalah "Tidak".
  8. ServeraliveInterval - Menetapkan selang waktu tamat dalam beberapa saat selepas itu jika tiada respons (atau data) telah diterima dari pelayan, SSH akan menghantar mesej melalui saluran yang disulitkan untuk meminta respons dari pelayan. Nilai lalai adalah 0, bermaksud tiada mesej akan dihantar ke pelayan, atau 300 Sekiranya pilihan BatchMode telah ditakrifkan.
  9. ServerAliveCountMax - Menetapkan bilangan pelayan yang hidup pelayan yang mungkin dihantar tanpa SSH menerima sebarang respons dari pelayan.
  10. Loglevel - mentakrifkan tahap kelebihan yang digunakan semasa mesej pembalakan dari SSH. Nilai yang dibenarkan termasuk: tenang, maut, kesilapan, maklumat, verbose, debug, debug1, debug2, dan debug3. Dan lalai adalah maklumat.

Cara standard untuk menyambung ke mana -mana hos Linux jauh (CentOS 7 - dalam kes saya), yang ditakrifkan dalam bahagian dua fail konfigurasi di atas, kami biasanya akan menaip arahan di bawah:

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

Walau bagaimanapun, dengan menggunakan fail konfigurasi klien SSH, kami hanya boleh menaip arahan berikut:

$ ssh centos7 

Anda boleh mendapatkan lebih banyak pilihan dan contoh penggunaan dalam halaman Config Man SSH:

$ man ssh_config 

Buat masa ini, dalam panduan ini, kami menjelaskan cara menggunakan fail konfigurasi klien SSH khusus pengguna (adat) di Linux. Gunakan borang maklum balas di bawah untuk menulis kembali kepada kami mengenai artikel ini.