Saya menyiapkan server OpenSSH kecil sehingga saya dapat mengakses file penting tanpa duduk langsung di depan komputer di rumah saya. Saya telah berhasil mengatur server sepenuhnya, tetapi sekarang saya ingin mengatur otentikasi kunci (sehingga sedikit lebih sulit bagi seseorang untuk menerobos masuk).
Saya telah menyalin kunci dari pengaturan Lubuntu saya, menyalinnya ke mesin windows saya, dan mengkonversikannya ke .ppk
format dengan puttygen . Di SSH -> Auth
bagian ini, saya telah memilih RSA.ppk
file kunci saya , menyimpan pengaturan dan login ke server. Saya masukkan username saya, tapi kemudian setelah, saya menerima output: Server refused our key
.
Saya sudah tanda komentar yang HostKey
baris untuk RSA
, ECDSA
dan ED25519
di saya sshd_config
. Saya tidak tahu apa lagi yang harus saya lakukan.
Jawaban:
Menggunakan PuTTYgen, saya membuat pasangan kunci publik / pribadi secara acak, dan menempelkan teks di kotak output ke
~/.ssh/authorized_keys
file. Otentikasi file kunci berfungsi dengan baik.sumber
SSH menggunakan dua set kunci asimetris (privat / publik) yang berbeda - satu untuk mengautentikasi host / server ke klien, dan secara opsional yang lain untuk mengautentikasi klien ke host / server.
The
HostKey
konfigurasi dalamsshd_config
adalah untuk kunci untuk tuan rumah, bukan untuk klien. Arahan dalamsshd_config
yang memungkinkan otentikasi pubkey untuk klien adalahPubKeyAuthentication
, tetapi Anda tidak perlu menentukan (atau biasanya menghapus komentar) itu karena diaktifkan secara default.Itu harus bekerja , dan tidak bagi saya, untuk mengkonversi kunci yang dihasilkan OpenSSH dengan PuTTYgen dan menggunakannya dalam Putty seperti yang Anda jelaskan, tetapi HANYA jika itu
~/.ssh/authorized_keys
untuk pengguna yang sesuai (*) - ini diperlukan untuk kunci klien APAPUN, tidak peduli di mana atau bagaimana dihasilkan. Membuat kunci pada satu sistem Unix tidak secara otomatis menambahkannya keauthorized_keys
sistem itu (karena Anda biasanya tidak perlu ssh untuk mengakses sistem yang sudah Anda gunakan) atau sistem lain (karena sistem ini tidak dapat mengetahui sistem mana yang Anda gunakan mungkin ingin mengakses, termasuk mungkin beberapa tahun di masa depan). Anda menyebutkan menambahkanauthorized_keys
hanya untuk kunci yang dihasilkan PuTTYgen baru Anda, bukan yang dihasilkan Unix dan PuTTYgen yang dikonversi.(*) Atau lokasi lain jika ditentukan oleh
AuthorizedKeysFile
disshd_config
tapi itu jarang terjadisumber