Android

Menggunakan fail konfigurasi ssh

Creating and Using an ssh config file

Creating and Using an ssh config file

Isi kandungan:

Anonim

Satu pilihan adalah untuk membuat alias bash untuk setiap sambungan pelayan jauh. Walau bagaimanapun, terdapat satu lagi penyelesaian yang lebih baik dan mudah untuk masalah ini. OpenSSH membolehkan anda menyediakan fail konfigurasi setiap pengguna di mana anda boleh menyimpan pilihan SSH yang berbeza untuk setiap mesin jauh yang anda sambungkan.

Panduan ini merangkumi asas-asas fail konfigurasi klien SSH dan menerangkan beberapa pilihan konfigurasi yang paling biasa.

Prasyarat

Kami mengandaikan bahawa anda menggunakan sistem Linux atau macOS dengan klien OpenSSH yang dipasang.

Lokasi Fail SSH Config

Fail konfigurasi pihak klien OpenSSH dinamakan config , dan ia disimpan dalam direktori .ssh di bawah direktori rumah pengguna.

Direktori ~/.ssh dibuat secara automatik apabila pengguna menjalankan perintah ssh buat kali pertama. Jika direktori tidak ada pada sistem anda, buatnya dengan menggunakan arahan di bawah:

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

Secara lalai fail konfigurasi SSH mungkin tidak wujud supaya anda mungkin perlu menciptanya dengan menggunakan arahan sentuh:

touch ~/.ssh/config

Fail ini mesti dibaca dan ditulis hanya oleh pengguna, dan tidak boleh diakses oleh orang lain:

chmod 600 ~/.ssh/config

Struktur dan Corak Fail SSH Config

Fail Config SSH mengambil struktur berikut:

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

Kandungan fail konfigurasi klien SSH dianjurkan ke dalam stanza (bahagian). Setiap stanza bermula dengan arahan Host dan mengandungi pilihan SSH tertentu yang digunakan semasa membuat sambungan dengan pelayan SSH jauh.

Indentasi tidak diperlukan tetapi disyorkan kerana ia membuat fail lebih mudah dibaca.

Arahan Host boleh mengandungi satu corak atau senarai spasi dipisahkan spasi. Setiap corak boleh mengandungi aksara sifar atau lebih bukan ruang kosong atau salah satu daripada spesifik pola berikut:

  • * - Memadankan aksara nol atau lebih. Sebagai contoh, Host * sepadan dengan semua tuan rumah, manakala 192.168.0.* Memadankan tuan rumah dalam 192.168.0.0/24 . ? - Memadankan satu watak. Corak, Host 10.10.0.? sepadan dengan semua tuan rumah dalam 10.10.0. pelbagai. ! - Apabila digunakan pada permulaan corak, ia meniadakan perlawanan. Sebagai contoh, Host 10.10.0.* !10.10.0.5 sepadan dengan mana-mana tuan rumah dalam 10.10.0.0/24 subnet kecuali 10.10.0.5 .

Klien SSH membaca stanza fail tatarajah menurut stanza, dan jika lebih daripada satu pola sepadan, pilihan dari stanza yang sepadan terlebih dahulu diutamakan. Oleh itu, lebih banyak perisytiharan spesifik tuan rumah harus diberikan pada permulaan fail, dan lebih banyak mengesahkan umum pada akhir fail.

Anda boleh mencari senarai lengkap pilihan ssh yang tersedia dengan menaip man ssh_config di terminal anda atau dengan melawat halaman lelaki ssh_config.

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

Contoh Fail SSH Config

Sekarang kita telah menutup asas fail konfigurasi SSH, mari lihat contoh berikut.

Biasanya, apabila menyambung ke pelayan jauh melalui SSH, anda akan menentukan nama pengguna jauh, nama hos dan port. Sebagai contoh, untuk log masuk sebagai pengguna bernama john ke host yang dikenali sebagai dev.example.com pada port 2322 dari baris arahan, anda akan menaip:

ssh [email protected] -p 2322

Untuk menyambung ke pelayan menggunakan pilihan yang sama seperti yang disediakan di atas arahan hanya dengan menaip ssh dev , letakkan baris berikut ke fail "~/.ssh/config :

~ /.ssh / config

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

Sekarang apabila anda menaip ssh dev , klien ssh akan membaca fail konfigurasi dan menggunakan butiran sambungan yang ditentukan untuk host dev :

ssh dev

Contoh Fail SSH Config Dikongsi

Contoh ini memberikan maklumat yang lebih terperinci tentang corak tuan rumah dan keutamaan pilihan.

Mari ambil fail contoh berikut:

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

  • Apabila anda menaip ssh targaryen , klien ssh membaca fail dan memohon pilihan dari perlawanan pertama, iaitu Host targaryen . Kemudian ia menyemak stanzas seterusnya satu demi satu untuk corak yang sepadan. Yang sepadan seterusnya ialah Host * !martell (yang bermaksud semua tuan rumah kecuali martell ), dan ia akan memohon pilihan sambungan dari bait ini. Takrif terakhir Host * juga sepadan, tetapi klien ssh hanya akan mengambil pilihan Compression kerana pilihan User sudah ditentukan dalam Host targaryen stanza.

    Senarai penuh pilihan yang digunakan semasa anda menaip ssh targaryen adalah seperti berikut:

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

    Apabila menjalankan ssh tyrell corak tuan rumah yang sepadan ialah: Host tyrell , Host *ell , Host * !martell and Host * . Pilihan yang digunakan dalam kes ini ialah:

    HostName 192.168.10.20 User oberyn LogLevel INFO Compression yes

    HostName 192.168.10.50 User oberyn Compression yes

    Untuk semua sambungan lain, klien ssh akan menggunakan pilihan yang dinyatakan dalam bahagian Host * !martell dan Host * .

Mengatasi Pilihan Fail SSH Config

Pelanggan ssh membaca konfigurasinya dalam susunan keutamaan berikut:

  1. Pilihan yang ditentukan dari baris arahan.Options ditakrifkan dalam ~/.ssh/config Opsyen yang ditakrifkan dalam /etc/ssh/ssh_config .

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

dan anda ingin menggunakan semua pilihan lain tetapi untuk menyambung sebagai root pengguna bukannya john hanya tentukan pengguna pada baris arahan:

ssh -o "User=root" dev

Pilihan -F ( configfile ) membolehkan anda menentukan fail konfigurasi per-pengguna alternatif.

Untuk memberitahu klien ssh untuk mengabaikan semua pilihan yang dinyatakan dalam fail konfigurasi ssh, gunakan:

ssh -F /dev/null [email protected]

Kesimpulannya

Kami telah menunjukkan kepada anda bagaimana cara mengkonfigurasi fail konfigurasi ssh pengguna anda. Anda juga boleh menyiapkan pengesahan berasaskan kunci SSH dan menyambung ke pelayan Linux anda tanpa memasukkan kata laluan.

Secara lalai, SSH didengar pada port 22. Menukar port SSH lalai menambah lapisan tambahan keselamatan ke pelayan anda dengan mengurangkan risiko serangan automatik.

terminal ssh