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
Lahir untuk berkendara
sumber
Salah satu mitigasi adalah dengan menggunakan plugin modul PAM google authenticator. Biasanya tersedia dalam paket resmi.
Ini akan membuat 2FA tersedia melalui kode 6 digit pada ponsel cerdas Anda.
Petunjuk Di Sini: Cara Mengatur Otentikasi Multi-Faktor untuk SSH di Ubuntu 16.04
sumber
SEDERHANA, Anda hanya perlu memperpanjang protokol SSH sehingga klien SSH atau agen SSH melaporkan / menetapkan tanda untuk mengatakan apakah kunci pribadi asli dienkripsi atau tidak (mungkin sisi server bahkan dapat mengajukan pertanyaan) - karena sisi klien memiliki visibilitas kunci pribadi dan bahkan sudah meminta frasa sandi saat kunci dienkripsi.
sumber