SSH (Secure SHELL) adalah protokol jaringan opensource aman yang memungkinkan pengguna untuk masuk dengan aman ke sistem Linux jarak jauh dan perangkat jaringan lainnya. Selain itu, protokol ini digunakan untuk transfer file antar sistem Linux menggunakan Protokol salinan aman (SCP) .
Biasanya, SSH meminta kata sandi kepada pengguna sebelum masuk. Namun, Anda dapat mengonfigurasi login SSH Passwordless ke sistem Linux jarak jauh lain dari sistem Linux Anda. Hal ini meningkatkan kepercayaan dan berguna dalam tugas cron yang memerlukan pencadangan file dari jarak jauh menggunakan protokol SCP.
Dalam panduan ini, Anda akan mempelajari cara mengatur login SSH tanpa kata sandi menggunakan kunci ssh untuk meningkatkan kepercayaan antara dua server.
Menyiapkan lingkungan
ssh client : 66.152.163.19 (Ubuntu 18.04)
ssh remote Host : 173.82.2.236 (CentOS 7)
Buat kunci SSH pada sistem klien ( 66.152.163.19 )
Langkah pertama dalam menyiapkan login tanpa kata sandi adalah membuat kunci otentikasi ssh di sistem klien. Kunci SSH adalah kunci digital yang menciptakan kepercayaan antara sistem Linux.
Untuk menghasilkan kunci ssh, jalankan perintah.
$ ssh-keygen
Anda akan diminta untuk file tempat menyimpan kunci. Tekan 'Enter' untuk menyimpan ke direktori lokasi default ( /root/.ssh)
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Tekan Enter.
Selanjutnya, Anda akan dimintai kata sandi. Ini kami sedang menyiapkan login tanpa kata sandi, tekan 'Enter' dua kali untuk melewati.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Tekan 'Enter' pada kedua kesempatan.
Output lengkapnya ditunjukkan di bawah ini.
Contoh keluaran
ssh-keygen
perintah menghasilkan kunci ssh publik dan pribadi dan menyimpannya di /root/.ssh
direktori.
Untuk memverifikasi jalankan:
ls /root/.ssh
Contoh keluaran
Kunci publik dilambangkan dengan id_rsa.pub
.
Kunci pribadi dilambangkan dengan id_rsa
.
Menyalin kunci publik ssh ke sistem jarak jauh (173.82.2.236)
Langkah selanjutnya adalah menyalin kunci publik ke server Linux jarak jauh. Ini akan dicapai dengan menggunakan ssh-copy-id
perintah seperti yang ditunjukkan di bawah ini.
ssh-copy-id remote_username@server_ip_address
Dalam contoh kita, perintahnya adalah:
ssh-copy-id [email protected]
Anda akan ditanya apakah Anda yakin ingin melanjutkan koneksi. Ketik yes
dan tekan 'Enter'
The authenticity of host '173.82.2.236 (173.82.2.236)' can't be established.
ECDSA key fingerprint is SHA256:U4aOk0p30sFjv1rzgh73uhGilwJ2xtG205QFqzB9sns.
Are you sure you want to continue connecting (yes/no)? yes
Selanjutnya, Anda akan dimintai kata sandi sistem jarak jauh. Ketik kata sandi dan tekan 'Enter'
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
Output lengkapnya ditunjukkan di bawah ini.
Kunci publik ssh akan disimpan di /root/.ssh/authorized_keys
file di sistem jarak jauh.
Masuk ke sistem jarak jauh
Setelah menyalin kunci ssh publik ke sistem jarak jauh, Anda sekarang dapat masuk tanpa diminta kata sandi seperti yang ditunjukkan.
ssh server-ip-address
Untuk kasus kami, ini akan menjadi:
ssh 173.82.2.236
Dan begitulah cara Anda menyiapkan penyiapan SSH Tanpa Kata Sandi dari sistem Linux klien ke server Linux jarak jauh.
- Hapus kunci publik dari sistem klien. Jika menurut Anda kunci pribadi telah disusupi, hapus kunci publik dari server jarak jauh dan atur kembali.
- Perintah SSH di atas berfungsi tanpa memberikan id pengguna karena kami menggunakan pengguna root di kedua server. Jika Anda telah mengatur login tanpa kata sandi untuk beberapa pengguna lain, harap berikan juga dalam perintah SSH.