Tentang Kunci SSH
Kunci SSH menyediakan cara yang lebih aman untuk masuk ke server pribadi virtual dengan SSH daripada menggunakan kata sandi saja. Sementara kata sandi pada akhirnya dapat dibobol dengan serangan brute force, kunci SSH hampir tidak mungkin diuraikan hanya dengan kekerasan. Membuat pasangan kunci memberi Anda dua string karakter yang panjang:kunci publik dan kunci pribadi. Anda dapat menempatkan kunci publik di server mana pun, lalu membuka kuncinya dengan menghubungkannya dengan klien yang sudah memiliki kunci pribadi. Ketika keduanya cocok, sistem akan terbuka tanpa perlu kata sandi. Anda dapat lebih meningkatkan keamanan dengan melindungi kunci pribadi dengan frasa sandi.
Panduan ini sebagian besar ditulis oleh orang-orang di DigitalOcean. Lihat opsi server hebat dan kompetitif biaya mereka di digitalocean.com
Langkah Pertama—Buat Pasangan Kunci RSA
Langkah pertama adalah membuat pasangan kunci pada mesin klien (kemungkinan besar ini hanya komputer Anda):
ssh-keygen -t rsa
Langkah Kedua—Simpan Kunci dan Frasa Sandi
Setelah Anda memasukkan perintah Gen Key, Anda akan mendapatkan beberapa pertanyaan lagi:
Enter file in which to save the key (/home/demo/.ssh/id_rsa):
Anda dapat menekan enter di sini, menyimpan file ke rumah pengguna (dalam hal ini, pengguna contoh saya disebut demo).
Enter passphrase (empty for no passphrase):
Terserah Anda apakah Anda ingin menggunakan frasa sandi. Memasukkan frasa sandi memang memiliki keuntungan:keamanan kunci, tidak peduli seberapa terenkripsi, masih bergantung pada fakta bahwa kunci itu tidak terlihat oleh orang lain. Jika kunci pribadi yang dilindungi frasa sandi jatuh ke tangan pengguna yang tidak sah, mereka tidak akan dapat masuk ke akun terkait sampai mereka mengetahui frasa sandi, memberi waktu ekstra bagi pengguna yang diretas. Satu-satunya kelemahan, tentu saja, memiliki frasa sandi, adalah harus mengetiknya setiap kali Anda menggunakan Pasangan Kunci.
Seluruh proses pembuatan kunci terlihat seperti ini:
ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/demo/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/demo/.ssh/id_rsa. Your public key has been saved in /home/demo/.ssh/id_rsa.pub. The key fingerprint is: 4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a The key's randomart image is: +--[ RSA 2048]----+ | .oo. | | . o.E | | + . o | | . = = . | | = S = . | | o + = + | | . o + o . | | . o | | | +-----------------+
Kunci publik sekarang terletak di /home/demo/.ssh/id_rsa.pub Kunci pribadi (identifikasi) sekarang terletak di /home/demo/.ssh/id_rsa
Langkah Ketiga—Salin Kunci Publik
Setelah pasangan kunci dibuat, saatnya untuk menempatkan kunci publik di server virtual yang ingin kita gunakan.
Anda dapat menyalin kunci publik ke file otor_keys mesin baru dengan perintah ssh-copy-id. Pastikan untuk mengganti contoh nama pengguna dan alamat IP di bawah ini.
ssh-copy-id [email protected]
Atau, Anda dapat menempelkan kunci menggunakan SSH:
cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Apa pun perintah yang Anda pilih, Anda akan melihat sesuatu seperti:
The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established. RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts. [email protected]'s password: Now try logging into the machine, with "ssh '[email protected]'", and check in: ~/.ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
Sekarang Anda dapat melanjutkan dan masuk ke [email protected] dan Anda tidak akan dimintai kata sandi. Namun, jika Anda menetapkan frasa sandi, Anda akan diminta untuk memasukkan frasa sandi pada saat itu (dan kapan pun Anda masuk di masa mendatang).
Langkah Empat Opsional—Nonaktifkan Kata Sandi untuk Login Root
Setelah Anda menyalin kunci SSH ke server Anda dan memastikan bahwa Anda dapat masuk dengan kunci SSH saja , Anda dapat melanjutkan dan membatasi login root hanya diizinkan melalui kunci SSH.
Untuk melakukan ini, buka file konfigurasi SSH:
sudo nano /etc/ssh/sshd_config
Di dalam file itu, temukan baris yang menyertakan PermitRootLogin
dan modifikasi untuk memastikan bahwa pengguna hanya dapat terhubung dengan kunci SSH mereka:
PermitRootLogin without-password
Menerapkan perubahan:
service openssh-server restart