Saya mencoba mengatur otentikasi ssh dengan file-file kunci sebagai ganti nama pengguna / kata sandi. Klien adalah kotak Windows yang menjalankan Putty dan server adalah server Ubuntu 12,04 LTS.
Saya mengunduh puttygen.exe dan membuatnya menghasilkan pasangan kunci. Dalam /etc/ssh/sshd_config
Saya memiliki baris ini:
AuthorizedKeysFile %h/.ssh/authorized_keys
dan pada file kunci publik klien saya tertulis:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "[email protected]"
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAr3Qo6T5XU06ZigGOd3eKvfBhFLhg5kWv8lz6
qJ2G9XCbexlPQGanPhh+vcPkhor6+7OmB+WSdHeNO652kTofnauTKcTCbHjsT7cJ
GNrO8WVURRh4fabknUHPmauerWQZ6TgRPGaz0aucU+2C+DUo2SKVFDir1vb+4u83
[email protected]
---- END SSH2 PUBLIC KEY ----
Saya menyalin bagian dari "ssh-rsa AAA" ke "[email protected]" dan memasukkannya ke file ~/.ssh/authorized_keys
di server saya (di homefolder saya sendiri). Dalam Putty di bawah Koneksi> SSH> Auth, saya memasukkan path ke kunci pribadi yang dihasilkan pada klien saya dan menyimpan pengaturan sesi.
Saya restart server ssh dengan
sudo service ssh restart
Sekarang jika saya memuat profil di Putty (saya memverifikasi kunci pribadi masih di Connection> SSH> Auth dan bahwa path sudah benar) dan menjalankan profil, katanya
Server refused our key
Saya mencoba meletakkan kunci publik dalam file di bawah direktori ./ssh/authorized_keys/
tetapi itu tidak membantu jadi saya gunakan ./ssh/authorized_keys
sebagai file , menempelkan kunci di dalamnya. Saya juga mencoba membuat pasangan kunci privat / publik di server, memasukkan kunci publik ./ssh/authorized_files
dan memuat yang privat di Putty pada klien saya. Mem-boot ulang server juga tidak membantu.
Saya menemukan bahwa kesalahan dapat diselesaikan dengan meletakkan kunci di tempat di luar folder rumah pengguna tetapi itu hanya berguna jika folder rumah dienkripsi, yang mana ini tidak.
Juga mencoba menghasilkan kunci 4096 bit, berpikir mungkin 1024 terlalu pendek.
Bagaimana saya bisa membuatnya bekerja? Terima kasih!
SUNTING:
Ok, /var/log/auth.log
katanya:
sshd: Authentication refused: bad ownership or modes for directory /home/vorkbaard/.ssh
Google memberi tahu saya bahwa ~/.ssh/
seharusnya 700 dan ~/.ssh/authorized_keys
600, jadi saya melakukannya. Sekarang /var/log/auth.log
mengatakan:
sshd: error: key_read: uudecode AAAAB3N [etc etc etc until about 3/4 of my public key]
sumber
sshd: error: key_read: uudecode AAAAB3N
kesalahan ituauth.log
?authorized_keys
file yang baru saya tempelkanmykey.pub
file saya ke~/.ssh
folder dan berpikir itu akan mengambilnya. Alih-alih yang saya butuhkan pada akhirnya adalah menjalankan ini atau mengedit dan menempel di bawah tombol lain yang mungkin ada di sana.cat mykey.pub >> authorized_keys
. Tampaknya sederhana sekarang, tetapi pelajaran yang didapat adalah semua kunci publik harus hidupauthorized_keys
tidak hanya di~/.ssh/
direktori. Seseorang tolong beri tahu jika ini bukan pernyataan yang benar.Saya baru saja mengalami masalah ini. Meskipun konfigurasi telah ditetapkan dengan benar seperti yang telah disebutkan di utas ini (izin pada otor_keys dll.), Ternyata saya memiliki kunci publik dalam format yang salah. Itu dalam bentuk:
Yang tidak berhasil. Tetapi membuatnya bekerja dalam bentuk:
sumber
ssh-keygen -i -f filenameofwindowsformpub.key
untuk mengubah kunci publik ke dalam format yang dimengerti oleh server OpenSSH Anda.masalahnya adalah bahwa windows menggunakan baris baru yang berbeda dari linux, jadi ketika menyalin kunci dari windows ke linux, ada \ n pada akhir baris yang tidak dapat Anda lihat di linux di editor.
Jika Anda mengekor /var/log/auth.log dan mencoba masuk, kesalahannya seperti:
Jika Anda mengubah kunci Anda di windows sehingga dalam satu baris tanpa baris baru di akhir dan salin kemudian ke linux, itu harus bekerja (lakukan trik untuk saya).
sumber
Saya harus mengubah izin ke direktori home
sumber
Saya harus mengubah izin direktori ~ / .ssh dari 770 menjadi 700 dan izin file ~ / .ssh / official_keys dari 660 menjadi 600.
Untuk beberapa alasan menghapus izin grup memperbaiki masalah ini untuk saya.
sumber
The
~/.ssh/authorized_keys
berkas membutuhkan kunci untuk menjadi semua dalam satu baris. Jika Anda menambahkannya di beberapa baris seperti pada pasta Anda di atas, cobalah bergabung dengan garis.sumber
Inilah yang bekerja untuk saya:
Di
puttygen
, setelah Anda membuat kunci Anda, pastikan Anda menyalin dan menempelkan informasi dari bidang atas untuk masuk ke file otor_keys Anda. Jika Anda menyimpan kunci publik ke mesin klien Anda, dan kemudian membukanya, teksnya berbeda dari teks di bagian atasputtygen
layar. Sekali lagi, pastikan Anda menyalin dan menempelkan teks dari TOPputtygen
layar (setelah Anda membuat kunci Anda) ke dalam file berwenang_keys Anda yang seharusnya berada di~/.ssh
.sumber
Selain semua jawaban di atas, pastikan Anda menyalin dan menempelkan kunci dari
puttygen
dengan benar!Jika Anda hanya mengklik dua kali pada sebagian besar string kunci untuk memilihnya, Anda mungkin tidak mendapatkan keseluruhan string, karena kotak teks membagi garis pada beberapa karakter, seperti
+
, sehingga Anda tidak memilih teks setelah+
karakter ( yang tidak dapat Anda lihat karena kotak teks terlalu kecil). Pastikan untuk memilih seluruh string secara manual, darissh-rsa
hingga akhir kotak teks.sumber
Terkadang ini bisa menjadi masalah yang terkait dengan memiliki kunci publik pada satu baris, pendekatan ini tampaknya menyelesaikannya
sumber
bagi saya masalahnya adalah saya buat
~/.ssh/authorized_keys
menggunakan root sehingga root dimiliki. Saya haruschown sshuser:sshuser ~/.ssh/authorized_keys
kemudian mulai bekerjasumber
Saya juga menghadapi kesalahan ini dan menyelesaikannya dengan mengubah izin file Author_keys menjadi
600
.sumber
Kesalahan umum adalah orang menggunakan editor teks (seperti Vim) dan menempelkan teks yang disalin sebelum mengaktifkan "sisipan" (tekan + i di Vim sebelum menempelkan)
sumber
Bahkan, saya mengubah
authorized_keys
izin644
, lalu masalah terpecahkan.sumber
untuk men-debug ssh yang bisa digunakan:
ia menjalankan sshd pada port lain 2020. ia menjalankan sshd sebagai program saat ini sehingga output menuju layar. jika ditutup ditutup.
kemudian coba sambungkan.
penjelasan:
https://www.attachmate.com/documentation/rsit-unix-802/rsit-unix-guide/data/sshd_options_ap.htm
sumber
Saya sedang membuat file .ssh dan berwenang_keys saat login sebagai root, yang memberikan izin yang salah. Itu juga menempatkan semua file di bawah direktori root.
Mengubah kepemilikan file-file itu kepada pengguna yang Anda inginkan tidak akan menjadi praktik yang baik, jadi saya menelusuri kembali langkah-langkah saya dan memastikan saya telah masuk sebagai pengguna yang ingin saya manfaatkan dengan SSH dan buat .ssh dan berwenang_kunci lagi.
Petunjuk untuk menghubungkan Win7 ke server Xubuntu 15.04: Cara Membuat Kunci SSH dengan Putty untuk Menghubungkan ke VPS
sumber