Saya memiliki pengaturan server 12.10 di mesin virtual dengan jaringannya diatur ke dijembatani (pada dasarnya akan terlihat sebagai komputer yang terhubung ke switch saya).
Saya menginstal opensshd via apt-get
dan dapat terhubung ke server menggunakan dempul dengan nama pengguna dan kata sandi saya.
Saya kemudian mulai mencoba membuatnya menggunakan otentikasi kunci publik / pribadi. Saya melakukan yang berikut:
- Menghasilkan kunci menggunakan PuttyGen.
- Memindahkan kunci publik ke
/etc/ssh/myusername/authorized_keys
(saya menggunakan direktori home terenkripsi). Atur
sshd_config
seperti:PubkeyAuthentication yes AuthorizedKeysFile /etc/ssh/%u/authorized_keys StrictModes no PasswordAuthentication no UsePAM yes
Ketika saya terhubung menggunakan dempul atau WinSCP, saya mendapatkan pesan kesalahan mengatakan Tidak ada metode otentikasi yang didukung (server mengirim kunci publik).
Jika saya menjalankan sshd
dalam mode debug, saya melihat:
PAM: initializing for "username"
PAM: setting PAM_RHOST to "192.168.1.7"
PAM: setting PAM_TTY to "ssh"
userauth-request for user username service ssh-connection method publickey [preauth]
attempt 1 failures 0 [preauth]
test whether pkalg/pkblob are acceptable [preauth[
Checking blacklist file /usr/share/ssh/blacklist.RSA-1023
Checking blacklist file /etc/ssh/blacklist.RSA-1023
temporarily_use_uid: 1000/1000 (e=0/0)
trying public key file /etc/ssh/username/authorized_keys
fd4 clearing O_NONBLOCK
restore_uid: 0/0
Failed publickey for username from 192.168.1.7 port 14343 ssh2
Received disconnect from 192.168.1.7: 14: No supported authentication methods available [preauth]
do_cleanup [preauth]
monitor_read_log: child log fd closed
do_cleanup
PAM: cleanup
Mengapa ini terjadi dan bagaimana saya bisa memperbaikinya?
Jawaban:
Masalah terpecahkan:
Sepertinya ada masalah dengan file kunci publik saya. PuttyGen akan membuat file kunci publik yang terlihat seperti:
Namun, ini tidak akan berfungsi, jadi yang perlu Anda lakukan adalah membuka kunci di PuttyGen, dan kemudian menyalinnya dari sana (ini menghasilkan kunci berada dalam format yang benar dan dalam 1 baris):
Tempel ini ke dalam
authorized_keys
maka itu akan berhasil.sumber
authorized_keys
vi dan menghapus semua jeda baris dan berhasil./etc/ssh/sshd_config
file.PasswordAuthentication
danChallengeResponseAuthentication
menjadiyes
.3a. Mulai kembali ssh
/etc/init.d/ssh restart
.ATAU
3b. lebih baik Anda gunakan
service sshd restart
sumber
PasswordAuthentication
untukno
.ChallengeResponseAuthentication
, ini menyelesaikan masalah saya pada Debian 10.0Saya hanya tip, semoga membantu orang lain dengan sakit kepala yang saya alami. F21 benar bahwa Anda perlu menyalin kunci dari jendela PuTTYGen alih-alih menyimpan file, tetapi setelah menyalin, cara Anda menempelkan mungkin memiliki dampak signifikan pada apakah kunci Anda akan berfungsi atau tidak. Beberapa editor akan mengubah teks saat Anda menempelkan, atau melakukan sesuatu dengan baris baru atau sesuatu yang membuat file official_keys tidak valid.
Apa yang saya temukan sebagai yang paling tidak mungkin putus adalah untuk menggemakan string penuh dan mengarahkan output ke file. Mengklik kanan di Putty untuk menempelkan kunci string ke commandline, itu berfungsi seperti ini (dengan contoh yang diberikan di atas):
Anda akan berakhir dengan ini:
Keuntungan lain dari metode ini adalah Anda dapat menambahkan beberapa kunci dengan cara ini dengan menggunakan >> untuk menambahkan alih-alih> untuk menimpa, misalnya:
Semoga itu bisa membantu seseorang.
sumber
Kami sudah menggunakan jenis kunci yang tepat (ppk bukan pem).
Dalam kasus kami, ini merupakan masalah dengan izin file untuk otor_keys pada folder pengguna server. Itu harus -rw-r - r-- ... Itu -rw-rw-r--
ssh sangat rewel tentang izin file.
sumber
TERPECAHKAN:
sumber
Dalam kasus saya alasannya adalah bahwa file kunci pribadi (.ppk) telah dihapus dalam agen otentikasi Putty yaitu Pageant. Saya baru saja memperbarui lagi ke Pageant di sana dan koneksi berfungsi dengan baik setelah itu.
sumber