SSH (Secure Shell) adalah protokol terenkripsi yang memungkinkan sistem klien untuk berkomunikasi secara aman dengan server. Anda dapat terhubung ke sistem Anda dari jarak jauh, melakukan tugas administratif, dan mengakses file. Berkomunikasi dengan server menggunakan kunci SSH adalah cara yang lebih aman dan nyaman daripada otentikasi kata sandi.
Di sini, di LinuxAPT, sebagai bagian dari Layanan Manajemen Server kami, kami secara teratur membantu Pelanggan kami untuk melakukan kueri SSH terkait.
Dalam konteks ini, kita akan melihat cara membuat kunci SSH pada sistem Debian 9 dan cara menyalinnya ke server menggunakan cara yang berbeda.
Bagaimana cara membuat kunci SSH di Debian ?
Sebelum melakukan prosedur ini, pastikan Anda menggunakan pengguna dengan hak sudo.
saya. Untuk memulai, kita akan membuat pasangan kunci pada sistem klien menggunakan perintah di bawah ini:
$ ssh-keygen
ii. Secara default, ssh-keygen akan menghasilkan pasangan kunci RSA 2048-bit. Jika Anda ingin membuat kunci 4096-bit yang lebih besar, Anda dapat meneruskan -b 4096 dalam tanda seperti di bawah ini:
$ ssh-keygen -t rsa -b 4096
Seharusnya menampilkan output seperti di bawah ini:
Output
Generating public/private rsa key pair.
Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):
aku aku aku. Tekan tombol Enter untuk menyimpan pasangan kunci di direktori ./ssh atau Anda dapat menentukan lokasi sesuai pilihan Anda.
Setelah itu, akan diminta untuk memasukkan kata sandi yang aman seperti di bawah ini. Frasa sandi akan menambahkan lapisan keamanan tambahan ke kunci Anda. Ini opsional, jika Anda tidak ingin mengaturnya, Anda dapat melewatinya hanya dengan menekan tombol Enter.
Output
Enter passphrase (empty for no passphrase):
Selanjutnya, Anda akan melihat output sebagai berikut:
Your identification has been saved in /home/yourusername/.ssh/id_rsa.
Your public key has been saved in /home/yourusername/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:+cxkUbcUyFc7jXMHnQNlm/2O8rj+yDyP5Rnt29ov8Bc [email protected]
The key's randomart image is:
+---[RSA 2048]----+
| ..oB*o|
| .ooo*B|
| . .+=*|
| . . o+|
| S o .|
| * . E |
| + .o+ +|
| o.Oo=o|
| .O=B=B|
+----[SHA256]-----+
Sekarang Anda memiliki kunci publik dan pribadi yang dapat Anda gunakan untuk mengautentikasi dengan server Debian Anda.
iv. Anda juga dapat memverifikasi bahwa file Anda dibuat atau tidak dengan mengetik:
ls ~/.ssh/id_*
Ini akan menampilkan output seperti ini:
/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub
Bagaimana Menyalin Kunci Publik ke Server Debian ?
Sekarang, langkah selanjutnya adalah menempatkan kunci publik ke server Debian Anda. Cara sederhana dan cepat untuk menyalin publik adalah dengan menggunakan utilitas ssh-copy-id.
Jalankan perintah di bawah ini:
$ ssh-copy-id username@server_ip_address
Ini akan diminta untuk memasukkan kata sandi untuk nama pengguna Anda:
Output
username@server_ip_address's password:
Setelah pengguna berhasil mengautentikasi, kunci publik akan ditambahkan ke file ~/.ssh/authorized_keys pada pengguna jarak jauh dan koneksi akan terputus.
Output
Number of key(s) added: 1
Sekarang Anda dapat mencoba masuk ke mesin Anda dengan perintah ssh username@server_ip_address dan periksa apakah hanya kunci yang ditambahkan yang ingin Anda tambahkan.
Jika sistem lokal Anda tidak menginstal utilitas ssh-copy-id maka Anda dapat menggunakan perintah berikut untuk menyalin kunci publik:
cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Pastikan Anda memiliki akses SSH berbasis kata sandi ke server Anda, maka hanya Anda yang dapat menggunakan metode di atas.
Bagaimana cara Login ke Server menggunakan SSH Keys ?
Sekarang, Anda seharusnya dapat masuk ke mesin jarak jauh tanpa kata sandi pengguna jarak jauh.
Anda dapat mencoba menghubungkan menggunakan perintah SSH:
$ ssh username@server_ip_address
Jika Anda baru pertama kali login maka mungkin akan meminta Anda sebagai berikut.
Ketik ya dan tekan tombol Enter untuk melanjutkan:
Output
The authenticity of host '192.168.27.18 (192.168.27.18)' can't be established.
ECDSA key fingerprint is ed:ed:f4:g9:66:ge:53:48:e1:55:00:fd:6d:d7:22:fe.
Are you sure you want to continue connecting (yes/no)? yes
Sekarang, jika Anda belum menyetel frasa sandi untuk kunci Anda, maka Anda akan langsung masuk tanpa meminta frasa sandi. Jika tidak, itu akan diminta untuk memasukkan frasa sandi. Setelah otentikasi berhasil, sesi shell baru akan membuka akun pengguna Anda di server Debian.
Bagaimana Cara Menonaktifkan Otentikasi Kata Sandi SSH?
Anda dapat menambahkan satu lapisan keamanan lagi dengan menonaktifkan otentikasi kata sandi untuk SSH. Sebelum memulai proses, pastikan Anda dapat mengautentikasi ke server Anda tanpa memasukkan kata sandi dan harus memiliki akun pengguna yang diaktifkan sudo.
saya. Mari login ke server Anda menggunakan ssh:
$ ssh username@server_ip_address
ii. Sekarang edit file konfigurasi SSH yang terletak di /etc/ssh/sshd_config:
$ sudo nano /etc/ssh/sshd_config
aku aku aku. Temukan arahan PasswordAuthentication dan jika baris dikomentari maka batalkan komentar pada baris dan atur nilainya menjadi "tidak" seperti yang diberikan di bawah ini:
PasswordAuthentication no
iv. Simpan dan tutup file. Anda harus me-restart layanan SSH menggunakan perintah di bawah ini:
$ sudo systemctl restart ssh
Sekarang, otentikasi berbasis kata sandi dinonaktifkan di server Debian Anda.