DEV Community

Elvitamp13
Elvitamp13

Posted on

Configuring and Securing SSH

Apa itu OpenSSH?
OpenSSH mengimplementasikan protokol Secure Shell atau SSH di sistem Red Hat Enterprise Linux.
Kamu dapat menggunakan perintah ssh untuk membuat koneksi aman ke sistem jarak jauh. Kamu juga dapat menggunakan perintah ssh untuk menjalankan perintah individual pada sistem jarak jauh tanpa menjalankan shell interaktif.

Contoh Shell Aman
berikut perintah ssh akan memasukkan Anda ke server jarak jauh remotehost menggunakan nama pengguna yang sama dengan pengguna lokal saat ini.

Image description

Mengidentifikasi Pengguna Jarak Jauh
Perintah W menampilkan daftar pengguna yang saat ini masuk ke komputer.

Image description

Kunci host SSH
SSH mengamankan komunikasi melalui enkripsi kunci publik. Ketika klien SSH terhubung ke server SSH, server mengirimkan salinan kunci publiknya ke klien sebelum klien masuk.

Ketika pengguna menggunakan perintah ssh untuk terhubung ke server SSH, perintah tersebut akan memeriksa apakah ia memiliki salinan kunci publik.
Jika klien memiliki salinan kunci, SSH akan membandingkan kunci dari file host yang dikenal untuk server itu dengan yang diterimanya.

Catatan
Mengatur StricHostKeyChecking parameter ke yes di khusus pengguna ~/.ssh/config file atau seluruh sistem /etc/ssh/_config untuk menyebabkan perintah ssh selalu membatalkan koneksi SSH jika kunci publik tidak cocok.

Manajemen Kunci Host SSH Dikenal
jika kunci publik server diubah karena kunci hilang karena kegagalan hard drive kamu perlu mengedit file host yang dikenal untuk memastikan entri untuk kunci publik lama diganti dengan kunci publik baru, untuk masuk tanpa kesalahan. Kunci publik disimpan di /etc/ssh/ssh_known_hosts dan masing-masing pengguna ~/.ssh/known_hosts file pada klien SSH.
$ cat ~/.ssh/known_hosts
$ ls /etc/ssh/*key.pub

Catatan
untuk menambahkan entri yang cocok dengan server ssh_host_*key.pub file ke Anda ~/.ssh/known_hostsfile atau seluruh sistem /etc/ssh/ssh_known_hosts.

Mengonfigurasi Otentikasi Berbasis Kunci SSH

Otentikasi Berbasis Kunci SSH
Menghasilkan Kunci SSH
Untuk membuat kunci pribadi dan kunci publik yang cocok untuk otentikasi, gunakan perintah ssh-keygen.

Image description

Jika kamu tidak menentukan frasa sandi saat ssh-keygen, kunci pribadi yang dihasilkan tidak dilindungi.

Contoh perintah ssh-keygen berikut menunjukkan pembuatan kunci pribadi yang dilindungi frasa sandi di samping kunci publik.

Image description

Perintah -f di ssh-keygen menentukan tempat file kunci disimpan.
Setelah kunci SSH dibuat, kemudian disimpan secara default di .ssh/direktori home pengguna.

Berbagi Kunci Publik
Sebelum otentikasi berbasis kunci dapat digunakan, kunci publik perlu disalin ke sistem tujuan. Perintah ssh-copy-id digunakan untuk menyalin kunci publik.
$ ssh-copy-id -i .ssh/key-with-pass.pub user@remotehost

Jika kamu menghilangkan jalur ke file kunci publik saat menjalankan perintah ssh-copy-id, itu menggunakan default /home/user/.ssh/id_rsa.pub
$ ssh-copy-id -i .ssh/key-with-pass.pub user@remotehost

Jika kamu menghilangkan jalur ke file kunci pribadi saat menjalankan perintah ssh, itu menggunakan default /home/user/.ssh/id_rsa
$ ssh -i .ssh/key-with-pass user@remotehost

Menggunakan ssh-agent untuk Otentikasi Non-interaktif
Kamu dapat menggunakan program bernama ssh-agent untuk menyimpan sementara frasa sandi di memori.
Kemudian setiap kali kamu menggunakan SSH untuk masuk ke sistem lain dengan kunci pribadi, ssh-agent akan secara otomatis memberikan frasa sandi untuk kamu.

Image description

Saat menjalankan ssh-agent,ia mencetak beberapa perintah shell. Perintah eval $(ssh-agent) memulai ssh-agent dan menjalankan perintah tersebut untuk secara otomatis mengatur variabel lingkungan tersebut untuk sesi shell itu.

Perintah ssh-add berikut menambahkan kunci pribadi dari /home/user/.ssh/id_rsa(default) dan /home/user/.ssh/key-with-pass file, masing-masing.
$ ssh-add
$ ssh-add .ssh/key-with-pass

perintah ssh menggunakan /home/user/.ssh/key-with-pass(non-default) file kunci pribadi untuk mengautentikasi ke server SSH.
$ ssh -i .ssh/key-with-pass

Menyesuaikan Konfigurasi Layanan OpenSSH
Konfigurasi Server OpenSSH
File konfigurasi utamanya adalah /etc/ssh/sshd_config.

Server OpenSSH menggunakan PermitRootLoginpengaturan konfigurasi di /etc/ssh/sshd_configfile konfigurasi untuk mengizinkan atau melarang pengguna masuk ke sistem sebagai root.
Dengan PermitRootLogin parameter ke yes, karena secara default, orang diizinkan untuk masuk sebagai root.

Server SSH (sshd) harus dimuat ulang agar perubahan apa pun dapat diterapkan.
# systemctl reload sshd

Server OpenSSH menggunakan PasswordAuthentication parameter di /etc/ssh/sshd_config file konfigurasi untuk mengontrol apakah pengguna dapat menggunakan otentikasi berbasis kata sandi untuk masuk ke sistem.

Top comments (0)