Frasa sandi yang dapat ditetapkan pada kunci pribadi tidak terkait dengan server SSH atau koneksi ke sana. Menyetel frasa sandi ke kunci privat hanyalah tindakan pengamanan yang dapat diambil pemilik kunci untuk mencegah akses ke shell jarak jauh oleh pihak ketiga jika kunci privat dicuri.
Sayangnya, Anda tidak dapat memaksa pengguna untuk mengamankan kunci pribadi mereka dengan frasa sandi. Terkadang, kunci pribadi yang tidak dilindungi diperlukan untuk mengotomatiskan akses ke server SSH jarak jauh. Satu kebiasaan yang baik Saya sangat merekomendasikan untuk kasus-kasus tersebut adalah untuk menyarankan pengguna untuk hash yang known_hosts berkas (disimpan di ~ / .ssh / known_hosts ), yang menyimpan informasi tentang host remote menghubungkan pengguna ke, dengan menggunakan perintah berikut:
ssh-keygen -H -f ~/.ssh/known_hosts
Dengan cara ini, bahkan jika pihak ketiga mendapatkan akses ke kunci privat yang tidak dilindungi, akan sangat sulit untuk mengetahui host jarak jauh mana yang memiliki kunci ini. Tentu saja, membersihkan sejarah shell adalah wajib untuk teknik ini bernilai apa pun.
Selain itu, hal lain yang harus selalu Anda ingat, adalah tidak mengizinkan root untuk login dari jarak jauh dengan menambahkan berikut ini di konfigurasi server SSH Anda (sshd_config):
PermitRootLogin no
Di sisi lain, jika Anda ingin mencegah pengguna menggunakan kunci untuk mengautentikasi, tetapi menggunakan kata sandi, Anda harus menambahkan yang berikut ini ke sshd_config Anda :
PasswordAuthentication yes
PubkeyAuthentication no