Android

Menggunakan file konfigurasi ssh

TUTORIAL ADMIN SERVER - INSTALASI & KONFIGURASI SSH SERVER DEBIAN 7

TUTORIAL ADMIN SERVER - INSTALASI & KONFIGURASI SSH SERVER DEBIAN 7

Daftar Isi:

Anonim

Salah satu opsi adalah membuat alias bash untuk setiap koneksi server jarak jauh. Namun, ada solusi lain, jauh lebih baik, dan lebih sederhana untuk masalah ini. OpenSSH memungkinkan Anda untuk mengatur file konfigurasi per pengguna di mana Anda dapat menyimpan opsi SSH yang berbeda untuk setiap mesin jarak jauh yang Anda sambungkan.

Panduan ini mencakup dasar-dasar file konfigurasi klien SSH dan menjelaskan beberapa opsi konfigurasi yang paling umum.

Prasyarat

Kami berasumsi bahwa Anda menggunakan sistem Linux atau macOS dengan klien OpenSSH diinstal.

Lokasi File Konfigurasi SSH

File konfigurasi sisi klien OpenSSH bernama config , dan disimpan dalam direktori .ssh di bawah direktori home pengguna.

Direktori ~/.ssh secara otomatis dibuat ketika pengguna menjalankan perintah ssh untuk pertama kalinya. Jika direktori tidak ada di sistem Anda, buat dengan menggunakan perintah di bawah ini:

mkdir -p ~/.ssh && chmod 700 ~/.ssh

Secara default file konfigurasi SSH mungkin tidak ada sehingga Anda mungkin perlu membuatnya menggunakan perintah sentuh:

touch ~/.ssh/config

File ini harus dapat dibaca dan hanya dapat ditulis oleh pengguna, dan tidak dapat diakses oleh orang lain:

chmod 600 ~/.ssh/config

Struktur dan Pola File Konfigurasi SSH

File Konfigurasi SSH mengambil struktur berikut:

Host hostname1 SSH_OPTION value SSH_OPTION value Host hostname2 SSH_OPTION value Host * SSH_OPTION value

Isi file konfigurasi klien SSH diatur ke dalam bait (bagian). Setiap bait dimulai dengan arahan Host dan berisi opsi SSH spesifik yang digunakan ketika membuat koneksi dengan server SSH jarak jauh.

Lekukan tidak diperlukan tetapi dianjurkan karena membuat file lebih mudah dibaca.

Instruksi Host dapat berisi satu pola atau daftar pola yang dipisahkan oleh spasi. Setiap pola dapat berisi nol atau lebih karakter bukan spasi atau salah satu dari penentu pola berikut:

  • * - Cocok dengan nol atau lebih karakter. Misalnya, Host * cocok dengan semua host, sedangkan 192.168.0.* Cocok dengan host di subnet 192.168.0.0/24 . ? - Cocok dengan satu karakter. Polanya, Host 10.10.0.? cocok dengan semua host di 10.10.0. jarak. ! - Saat digunakan di awal suatu pola, itu meniadakan pertandingan. Sebagai contoh, Host 10.10.0.* !10.10.0.5 cocok dengan semua host di subnet 10.10.0.5 kecuali 10.10.0.5 .

Klien SSH membaca file konfigurasi bait demi bait, dan jika lebih dari satu pola cocok, pilihan dari bait pertama yang cocok lebih diutamakan. Oleh karena itu deklarasi khusus host harus diberikan pada awal file, dan lebih umum ditimpa pada akhir file.

Anda dapat menemukan daftar lengkap opsi ssh yang tersedia dengan mengetikkan man ssh_config di terminal Anda atau dengan mengunjungi halaman manual ssh_config.

File konfigurasi SSH juga dibaca oleh program lain seperti scp , sftp , dan rsync .

Contoh File Konfigurasi SSH

Sekarang kita telah membahas dasar file konfigurasi SSH, mari kita lihat contoh berikut.

Biasanya, saat menghubungkan ke server jarak jauh melalui SSH Anda akan menentukan nama pengguna, nama host, dan port jarak jauh. Misalnya, untuk masuk sebagai pengguna bernama john ke host yang bernama dev.example.com pada port 2322 dari baris perintah, Anda akan mengetik:

ssh [email protected] -p 2322

Untuk terhubung ke server menggunakan opsi yang sama seperti yang disediakan dalam perintah di atas hanya dengan mengetikkan ssh dev , masukkan baris berikut ke file "~/.ssh/config :

~ /.ssh / config

Host dev HostName dev.example.com User john Port 2322

Sekarang ketika Anda mengetik ssh dev , klien ssh akan membaca file konfigurasi dan menggunakan detail koneksi yang ditentukan untuk host dev :

ssh dev

Contoh File Konfigurasi SSH yang Dibagikan

Contoh ini memberikan informasi lebih rinci tentang pola host dan prioritas opsi.

Mari kita ambil contoh file berikut ini:

Host targaryen HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key Host tyrell HostName 192.168.10.20 Host martell HostName 192.168.10.50 Host *ell user oberyn Host * !martell LogLevel INFO Host * User root Compression yes

  • Saat Anda mengetik ssh targaryen , klien ssh membaca file dan menerapkan opsi dari pertandingan pertama, yaitu Host targaryen . Kemudian ia memeriksa bait berikutnya satu per satu untuk menemukan pola yang cocok. Yang cocok berikutnya adalah Host * !martell (artinya semua host kecuali martell ), dan itu akan menerapkan opsi koneksi dari bait ini. Definisi terakhir Host * juga cocok, tetapi klien ssh hanya akan mengambil opsi Compression karena opsi User sudah ditentukan dalam bait Host targaryen .

    Daftar lengkap opsi yang digunakan saat Anda mengetik ssh targaryen adalah sebagai berikut:

    HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key LogLevel INFO Compression yes

    Saat menjalankan ssh tyrell , pola host yang cocok adalah: Host tyrell , Host *ell , Host * !martell dan Host * . Opsi yang digunakan dalam kasus ini adalah:

    HostName 192.168.10.20 User oberyn LogLevel INFO Compression yes

    HostName 192.168.10.50 User oberyn Compression yes

    Untuk semua koneksi lain, klien ssh akan menggunakan opsi yang ditentukan di bagian Host * !martell dan Host * .

Ganti Opsi File Konfigurasi SSH

Klien ssh membaca konfigurasinya dengan urutan prioritas sebagai berikut:

  1. Opsi ditentukan dari baris perintah. Pilihan didefinisikan dalam ~/.ssh/config Pilihan didefinisikan dalam /etc/ssh/ssh_config .

Host dev HostName dev.example.com User john Port 2322

dan Anda ingin menggunakan semua opsi lain tetapi untuk terhubung sebagai root pengguna bukan john cukup tentukan pengguna pada baris perintah:

ssh -o "User=root" dev

Opsi -F ( configfile ) memungkinkan Anda untuk menentukan file konfigurasi per-pengguna alternatif.

Untuk memberi tahu klien ssh untuk mengabaikan semua opsi yang ditentukan dalam file konfigurasi ssh, gunakan:

ssh -F /dev/null [email protected]

Kesimpulan

Kami telah menunjukkan kepada Anda bagaimana cara mengkonfigurasi file konfigurasi ssh pengguna Anda. Anda mungkin juga ingin mengatur otentikasi berbasis kunci SSH dan terhubung ke server Linux Anda tanpa memasukkan kata sandi.

Secara default, SSH mendengarkan pada port 22. Mengubah port SSH default menambah lapisan keamanan tambahan ke server Anda dengan mengurangi risiko serangan otomatis.

terminal ssh