Mengatur Izin .ssh/config yang Tepat

Setting Proper Ssh Config Permissions



Protokol SSH adalah protokol aman yang biasanya digunakan untuk menghubungkan ke perangkat jarak jauh seperti server dan perangkat jaringan, termasuk router dan sakelar. Ia bekerja dalam pengaturan client-server dan, secara default, mendengarkan pada port 22 (meskipun ini dapat diubah bila diperlukan). SSH menggunakan teknik enkripsi dan hashing yang berbeda untuk memastikan komunikasi antara klien dan host jarak jauh dienkripsi dan aman dari penyadapan.

File SSH disimpan di .ssh map. Ini adalah folder tersembunyi yang berada di direktori home. NS .ssh direktori tidak dibuat secara default; itu dibuat ketika Anda memulai koneksi dengan host jarak jauh atau menggunakan ssh-keygen perintah untuk menghasilkan kunci otentikasi pribadi dan publik seperti yang Anda inginkan mengatur otentikasi ssh tanpa kata sandi.







NS .ssh map. berisi file SSH penting seperti:



  1. Kunci Publik dan Pribadi ( id_rsa dan id_rsa.pub ).
  2. NS known_hosts file – Berisi kunci publik dari semua sistem jarak jauh yang telah Anda sambungkan.
  3. NS konfigurasi file konfigurasi klien

jika konfigurasi file tidak ada, Anda dapat dengan mudah membuatnya seperti yang ditunjukkan.



$ sentuh ~/.ssh/config

File konfigurasi klien .ssh/config

Setiap kali Anda memulai koneksi SSH, Anda perlu menentukan detail seperti alamat IP atau nama domain dan port yang didengarkan SSH. Sebagai contoh,

$ ssh [dilindungi email] -p 22

Ini bisa menjadi sibuk karena harus selalu mengingat detail seperti itu. Dan di sinilah ~/.ssh/config file masuk ~/.ssh/config file adalah file konfigurasi yang memungkinkan Anda untuk mengonfigurasi detail konfigurasi per pengguna dari host jarak jauh. Ini menghemat penderitaan Anda karena selalu harus mengingat detail per-host yang diperlukan untuk koneksi.

Contoh file konfigurasi muncul seperti yang ditunjukkan.

Server pementasan tuan rumah
Nama Host 192.168.2.103
pengguna james
Pelabuhan 22

Perintah SSH sederhana ke host jarak jauh akan terlihat sebagai berikut:

$ssh staging-server

Izin file .ssh/config

Secara default, ~/.ssh/config file konfigurasi klien memiliki 644 izin file. Anda dapat memverifikasi bahwa menggunakan ls -la perintah sebagai berikut.

$ls -la ~ / .ssh / config

Ini menyiratkan bahwa pemilik dan grup file memiliki izin baca dan tulis (rw) sementara pengguna lain hanya memiliki izin baca (r).

-rw-rw-r--

CATATAN:

Sebagai aturan praktis, jangan pernah memberikan izin menulis ke pengguna lain. Ini menimbulkan risiko keamanan pada file Anda, dan pengguna lain yang bukan Anda atau grup Anda dapat mengubah konten file. Menetapkan izin menulis akan menghasilkan ' Pemilik atau izin yang buruk ' kesalahan seperti yang ditunjukkan di bawah ini.

Di sini, file konfigurasi diberi izin 666. Ini menyiratkan bahwa setiap orang dapat membaca dan menulis file.

Demikian pula, kasus yang sama berlaku di sini di mana file telah diberikan 777 izin. Ini menyiratkan bahwa setiap orang dapat membaca, menulis, dan mengeksekusi file. Sederhananya, siapa pun memiliki semua hak atas file yang berpotensi berbahaya.

Praktik terbaik menyarankan Anda membiarkan izin default di 664 atau 600, di mana hanya pemiliknya yang memiliki izin baca dan tulis (rw). Dengan cara ini, file tetap aman dari modifikasi oleh pengguna yang tidak berwenang.

Selain itu, pastikan Anda memiliki file tersebut. Jika file diubah ke pengguna lain, SSH tidak akan dapat menyelesaikan nama host yang disediakan dalam file konfigurasi.

Pada contoh di bawah ini, ~/.ssh/config kepemilikan telah ditetapkan ke bob: bob.

Untuk mengatasi masalah ini, saya kembali ke kepemilikan file asli menggunakan chown memerintah.

$ sudo chown james:james ~/.ssh/config

Dengan izin file dikembalikan, sekarang saya dapat memiliki akses dengan menjalankan perintah SSH diikuti dengan nama host yang ditentukan dalam file konfigurasi.

$ssh staging-server

Dan hanya itu yang perlu Anda ketahui tentang mengatur izin pada ~/.ssh/config mengajukan. Pastikan Anda tidak menyetel izin baca ke pengguna lainnya dan pastikan Anda memiliki file tersebut.