Putty: Membuat Server menolak Kesalahan kunci kami

86

Saya membuat pasangan kunci menggunakan puttygen.exe(klien adalah windows 8). Di server (Ubuntu 12.04.3 LTS), saya telah memasukkan kunci publik saya ~/.ssh/authorized_keys. Kunci publiknya adalah ini:

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAopfM6RHOgnuc4Aftn3t4k5UIAT3StCAbn/vg/IMbphbXadshC+79sIlRq3P4zGzMjFTP4hKnzu6ehLV5lmj/qorq3SKT+bPO5Qrac3VbIlrGvuBFDDjP82I2Hwg3HzlsFTstqk++KToapaTYZ7jENEYyPl2wnzITJnt//+4U1o6juoXTKgdNE02hHnRZyHOV/bnkZyJJCEwJv5U0eXSThQnhmXtUxGT8U0HQNFiXfqIIVllhWiCnyrhhIaKz/CIJNAd2VmzyJzQtJtTQX8aWSNVrZju6Sv2/RncTNvsACdNgjjh/FH8PQXaep00jlJ3MOdsC8vz6VSPFbh6iKy1oLQ== rsa-key-20131231

Jadi benar (satu baris, tidak ada komentar, dimulai dengan ssh-rsa, dll.)

.ssh tingkat izin dir adalah 700, izin file authorized_keys adalah 600. Baik direktori dan file milik pengguna sebenarnya yang saya coba masuki.

Ketika saya mencoba menghubungkan saya mendapatkan 'server refused our key'dan server meminta kata sandi. Itu saja. Tidak ada yang masuk /var/log/auth.logsaat mencoba masuk dengan kunci.

Saya telah mencari di mana-mana dan semua artikel dan tip menyebutkan pengaturan chmod 600 dan 700 untuk file / direktori dan memformat kunci dengan benar. Saya telah melakukan semua ini masih mendapatkan kesalahan 'menolak kunci kami' dan saya kehabisan ide.

PawelRoman
sumber
2
Apakah Anda memberi tahu Putty untuk menggunakan kunci yang sama? apakah Anda masuk dengan pengguna yang sama? apakah ini instalasi SSH default, atau apakah Anda memodifikasi sshd_config?
Noam Rathaus
Puttygen menghasilkan 3 kunci: privat, publik, dan kunci privat versinya sendiri dengan ekstensi .ppk. Saya tentu saja menggunakan .ppk dengan putty.exe dan menempelkan kunci publik ke .ssh / authorized_keys di server. Ini adalah instalasi / konfigurasi SSH default, saya belum mengubah sshd_config.
PawelRoman
BTW, saya harus membuat direktori .ssh dan auhtorized_keys, karena ini adalah instalasi Ubuntu baru dan tidak ada. Mungkin ini ada hubungannya dengan masalah tersebut?
PawelRoman
3
Pastikan sshd_config dikonfigurasi untuk menggunakan kunci publik, mungkin tidak
Noam Rathaus
2
Apakah Anda melihat sesuatu di /var/log/auth.log? tingkatkan log SSH 'LogLevel ke DEBUGdan lihat apakah Anda dapat melihat masalah apa pun yang dicatat, jika masih tidak menunjukkan bahwa Anda mengakses, Anda mencari di file log yang salah
Noam Rathaus

Jawaban:

61

Oke, ada kesalahan ketik kecil di kunci saya. Rupanya saat menempelkan ke file, huruf pertama terputus dan dimulai dengan sh-rsa, bukan ssh-rsa.

nrathathaus - jawaban Anda sangat membantu, terima kasih banyak, jawaban ini dikreditkan kepada Anda :) Saya tidak seperti yang Anda katakan dan menetapkan ini di sshd_conf:

LogLevel DEBUG3

Dengan melihat log saya menyadari bahwa sshd membaca kunci dengan benar tetapi menolaknya karena pengenal yang salah.

PawelRoman
sumber
Log mana yang Anda periksa dan di mana mereka? Apa pengenal yang Anda bicarakan?
pengguna1046647
3
@ user1046647 LogLeveldidefinisikan dalam /etc/ssh/sshd_config. Log default adalah /var/log/auth.logkecuali ditentukan lain di sshd_config.
Axel Kemper
Pasti ada sesuatu dengan generator kunci karena saya memiliki masalah yang persis sama!
Kevin
3
Jika Anda membuka authorized_key di vim dan segera mencoba menempelkan yang pertama dari 'ssh_rsa "dianggap sebagai perintah vim setelah itu vim akan beralih ke mode penyisipan dan teks yang tersisa sedang ditempel. Jika Anda masuk ke mode penyisipan sebelumnya menempelkan (misalnya menggunakan i) petunjuk 's' tidak akan dipotong
Pawel
1
! sudo service ssh restartagar perubahan diterapkan. Jika tidak, tidak ada apa pun di file log auth saya.
hogan
30

Menambahkan beberapa pemikiran karena jawaban lain membantu, tetapi tidak tepat.

Pertama-tama, seperti yang disebutkan dalam jawaban yang diterima, edit

/etc/ssh/sshd_config

dan setel tingkat log:

LogLevel DEBUG3

Kemudian coba untuk mengotentikasi, dan jika gagal, cari file log:

/var/log/secure

Ini akan memiliki kesalahan yang Anda cari.

Ranty
sumber
/var/log/ada, tapi securetidak ada. Bagaimana cara menemukan log mana yang sedang ditulis?
aliteralmind
11
Default-nya adalah /var/log/auth.log, setidaknya di Ubuntu 14.04.1 saya.
Axel Kemper
IYA! Terima kasih! ternyata file kunci pub saya memiliki \ n yang tidak terlihat di akhir
alextsil
1
Linux / Ubuntu sangat membuat frustrasi. Menghabiskan 20 menit untuk mencoba mencari tahu mengapa tidak ada securefile sebelum membaca komentar @axel di sini.
JYelton
17

Dalam kasus saya, saya harus mengubah izin / home / pengguna dari 0755 menjadi 0700 juga.

Atif
sumber
1
ini adalah penyebab dan solusi bagi saya
pstanton
4
dan untuk diri saya sendiri folder 700 dan authorized_keys 600 memecahkan masalah
David Soussan
1
Bagi saya hal yang sama, chmod 700 di folder .ssh dan chmod 600 di authorized_keys memecahkan masalah
Iwo Kucharski
.ssh folder 700 dan kunci resmi 600 memperbaikinya untuk saya.
Deep-B
13

Dalam kasus saya, adalah masalah izin.

Saya mengubah level log menjadi DEBUG3, dan /var/log/securesaya melihat baris ini:

Authentication refused: bad ownership or modes for directory

Googled dan saya menemukan posting ini:

https://www.daveperrett.com/articles/2010/09/14/ssh-authentication-refused/

chmod g-w /home/your_user
chmod 700 /home/your_user/.ssh
chmod 600 /home/your_user/.ssh/authorized_keys

Pada dasarnya, ini memberitahu saya untuk:

  • singkirkan wizin grup dari dir home user Anda
  • Perubahan izin untuk 700satu .sshdir
  • mengubah izin untuk 600satu authorized_keysberkas.

Dan itu berhasil.

Hal lain adalah bahkan saya mengaktifkan login root, saya tidak bisa mulai rootbekerja. Lebih baik gunakan pengguna lain.

WesternGun
sumber
Jawaban ini kurang dipilih. Izin direktori home yang diabaikan mungkin menghabiskan waktu seharian penuh untuk memecahkan masalah.
chingNotCHing
Terima kasih telah memilih saya. Saya hanya membagikan apa yang saya dapatkan.
WesternGun
6

Menjalankan Windows 8.1 Saya mengalami server refused our keymasalah.

Mengikuti panduan ini: https://winscp.net/eng/docs/guide_windows_openssh_server Sangat mudah untuk membuat koneksi menggunakan login Windows usernamedan password. Namun, mengautentikasi dengan usernamekombinasi dengan a private key, tanggapannya adalah server refused our key.

Membuatnya bekerja dengan kunci publik turun ke izin pada file: C:\ProgramData\ssh\administrators_authorized_keys

Ini adalah halaman yang berguna: https://github.com/PowerShell/Win32-OpenSSH/wiki/Troubleshooting-Steps

Hentikan dua layanan OpenSSH, lalu buka command promptdengan admin permissions. Lalu lari: C:\OpenSSH-Win32>c:\OpenSSH-Win32\sshd.exe -ddd

Catatan: tentukan path lengkap ke exe jika tidak sshdmengeluh. Ini membuat pemroses koneksi sekali pakai. Itu -dddverbose level 3.

Setelah membuat koneksi, pemindaian log mengungkapkan:

debug1: trying public key file __PROGRAMDATA__/ssh/administrators_authorized_keys
debug3: Failed to open file:C:/ProgramData/ssh/administrators_authorized_keys error:2
debug1: Could not open authorized keys '__PROGRAMDATA__/ssh/administrators_authorized_keys':
        No such file or directory

Harus membuat file: C:\ProgramData\ssh\administrators_authorized_keys Dan salin public keyteks ke dalamnya, misalnya: ssh-rsa AAAA................MmpfXUCj rsa-key-20190505 Lalu simpan file. Saya menyimpan file seperti UTF-8dengan BOM. Tidak menguji ANSI.

Kemudian menjalankan baris perintah satu kali lagi, di log menunjukkan:

debug1: trying public key file __PROGRAMDATA__/ssh/administrators_authorized_keys
debug3: Bad permissions. Try removing permissions for user: S-1-5-11 on file C:/ProgramData/ssh/administrators_authorized_keys.
        Authentication refused.

S-1-5-11adalah nama yang diberikan untuk System.

Untuk memperbaikinya Bad permissions, klik kanan pada administrators_authorized_keysfile, buka Security Tab, klik Advancedtombol dan hapus izin yang diwariskan. Kemudian hapus semua Group or user names:kecuali untuk nama pengguna login Windows, misalnya: YourMachineName\username Izin untuk itu usernameharus Read Allow, yang Write Denylainnya tidak dicentang. Pemilik file juga harusYourMachineName\username

Ini memperbaiki masalah.

Tautan Berguna Lainnya:

Unduh OpenSSH-Win32.zip dari: https://github.com/PowerShell/Win32-OpenSSH/releases

C # contoh bagaimana menggunakan WinSCPnet.dll untuk membuat koneksi ke server OpenSSH: https://winscp.net/eng/docs/library#csharp

Berikut adalah potongan kode untuk membuat koneksi menggunakan WinSCPnet.dll:

static void WinSCPTest() {
    SessionOptions ops = new SessionOptions {
        Protocol = Protocol.Sftp, 
        PortNumber = 22,
        HostName = "192.168.1.188", 
        UserName = "user123",
        //Password = "Password1",
        SshHostKeyFingerprint = @"ssh-rsa 2048 qu0f........................ddowUUXA="
    };

    ops.SshPrivateKeyPath = @"C:\temp\rsa-key-20190505.ppk";

    using (Session session = new Session()) {
        session.Open(ops);
        MessageBox.Show("success");
    }
}

Gantikan SshHostKeyFingerprintdan SshPrivateKeyPathdengan nilai-nilai Anda sendiri.

Edit: menambahkan tangkapan layar izin file administrator_authorized_keys: masukkan deskripsi gambar di sini

Saat OpenSSH SSH Serverdijalankan sebagai Layanan, maka hanya Systemharus memiliki izin. Namun, jika dijalankan sshd.exedari command prompt, maka pengguna saat ini harus menjadi satu-satunya pengguna yang terdaftar (read allow, write deny).

Kebencian
sumber
3
Anda telah melakukan banyak hal di sini yang membantu. Pertama jalankan sshd dengan flag debug pada baris perintah. Log Sistem Layanan Windows menunjukkan sangat sedikit dan sama sekali tidak berguna untuk debug. Kedua, fakta utama bahwa sebagai Administrator ada bug yang hanya terlihat di file administrator_authorized_keys dan bukan folder Users .ssh yang diharapkan untuk authorized_keys (titik kesedihan semua orang menjalankan sshd di Windows). Terakhir, folder 'ssh' di ProgramData! Saya bertanya-tanya di mana meletakkan sertifikat server dll. Jadi hanya informasi Anda di sini yang membantu saya setelah menggaruk-garuk kepala selama sekitar satu hari. Terima kasih!
Master James
jawaban ini adalah satu-satunya yang berhasil untuk saya pada tingkat gratis jendela contoh ec2 2019 baru.
yolob 21
3

Saya menambahkan jawaban ini untuk membantu siapa pun, seperti saya, yang menghabiskan waktu berjam-jam menjelajahi internet tanpa hasil.

FOLDER RUMAH ANDA DAPAT DIENKRIPSI.

Atau dalam hal ini setiap folder tempat file "authorized_keys" Anda berada. Sobat, itu akan menghemat banyak waktu. Untuk memeriksanya, lakukan

ls -A

pada direktori yang status enkripsi-nya ingin Anda tentukan. Jika folder tersebut berisi folder bernama ".encryptfs" jawabannya adalah, ya, folder itu dienkripsi. Ini akan menghalangi kemampuan Anda untuk mengakses file "authorized_keys" yang berisi kunci ssh publik yang diperlukan untuk verifikasi.

Untuk memperbaikinya, tempatkan file "authorized_key" di pohon direktori yang tidak berisi enkripsi.

Mackie Messer
sumber
3

Solusi sederhana yang saya temukan adalah memindahkan authorized_keysfile dari direktori .ssh yang tersembunyi dan meletakkannya di direktori sistem ssh:

/etc/ssh/keys/authorized_keys

Segera setelah saya melakukan ini, itu berhasil tanpa masalah.

mrbronz
sumber
3

mengalami masalah yang sama di windows server 2008 r2 dan banyak mengeksplorasi untuk dipecahkan, akhirnya lakukan itu dengan mengikuti:

buka C: \ Program Files (x86) \ OpenSSH \ etc \ sshd_config dengan textpad atau editor teks lainnya

hapus komentar dari baris berikut, setelah menghapusnya akan terlihat seperti berikut:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

simpan dan coba masuk dengan kunci pribadi sekarang. Selamat bersenang-senang.

Ravi Anand
sumber
ssh kadang-kadang diinstal dengan baris file kunci resmi diberi komentar sehingga tidak tahu di mana harus mencari file kunci resmi :-(
kenyee
Izin apa yang diperlukan untuk file authorized_keys? Dan apakah itu harus di direktori pengguna atau di direktori OpenSSH?
GarfieldKlon
Itu harus ada di direktori OpenSSH atau tempat Anda menginstal OpenSSH Anda. Anda harus dapat menemukannya
Ravi Anand
Pastikan, Anda menyiapkannya menggunakan akun Admin.
Ravi Anand
2

Terima kasih kepada nrathaus dan /var/log/auth.log investigasi pada level debug muncul sebagai berikut.

Alasan lainnya adalah direktori beranda Anda mungkin memiliki izin yang berbeda dari 755.

Intel83
sumber
Direktori home Anda harus 700, itu default di CentOS.
karatedog
2

Saya mengalami masalah ini hari ini dan masalah saya adalah ketika menyalin kunci publik dari file, karakter baris baru juga disertakan. Anda dapat menggunakan ": set list" di vim untuk melihat semua baris baru yang tersembunyi dan pastikan untuk menghapus semua baris baru kecuali yang terakhir. Juga, kunci saya kehilangan "ssh-rsa" pada awalnya. Pastikan Anda memilikinya juga.

hyeuc
sumber
1
Mirip di sini: saat menyalin dari PuttyGen, saya memiliki baris baru setelah "ssh-rsa" dan setelah kunci. Setelah menghapusnya, itu berhasil.
Lucian P.
1

Bagi mereka yang menerima kesalahan ini dari Windows Server, saya menerima kesalahan yang sama ini dan itu adalah masalah akun pengguna. Dengan banyak organisasi, kebijakan grup untuk Administrator mungkin tidak mengizinkan pengaturan SSH Server dan koneksi. Dengan jenis penyiapan tersebut, ini harus dilakukan dari akun Admin Lokal. Mungkin layak untuk dilihat jika Anda telah mengonfirmasi bahwa tidak ada kesalahan ketik pada kunci publik.

Andrew Campbell
sumber
1

Dalam kasus saya, saya harus menonaktifkan SELinux di Centos6.6 agar berfungsi :)

Edit / etc / selinux / config dan atur yang berikut ini dan kemudian reboot host.

selinux=disabled

BTW ... lupa menyebutkan bahwa saya harus menyetel LogLevel = DEBUG3 untuk mengidentifikasi masalah.

sagaya
sumber
1
Daripada menonaktifkan SELinux, Anda dapat mengubah konteks keamanan di folder .ssh. chcon -R -t ssh_home_t .ssh
palehorse
1

Saya mengalami kesalahan yang sama pada solaris tetapi ditemukan di /var/adm/splunk-auth.log berikut ini:

sshd: [auth.debug] debug1: PAM conv function returns PAM_SUCCESS
sshd: [auth.notice] Excessive (3) login failures for weblogic: locking account.
sshd: [auth.debug] ldap pam_sm_authenticate(sshd-kbdint weblogic), flags = 1
sshd: [auth.info] Keyboard-interactive (PAM) userauth failed[9] while authenticating: Authentication failed

Di / etc / shadow akun dikunci:

weblogic:*LK*UP:16447::::::3

Menghapus bagian "* LK *":

weblogic:UP:16447::::::3

dan saya bisa menggunakan ssh dengan authorized_keys seperti biasa.

Bruno Ruess
sumber
1

Dalam kasus saya itu disebabkan oleh ( /etc/ssh/sshd_config):

PermitRootLogin no

Berubah menjadi yes, memulai ulang layanan dan masuk secara normal.

Alex Fortuna
sumber
1

Saya telah menyelesaikan masalah ini, puttygen adalah perangkat lunak pihak ketiga, kunci ssh yang dihasilkan olehnya tidak digunakan secara langsung, jadi Anda harus melakukan beberapa perubahan. Misalnya, tampilannya seperti ini

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20170502"
AAAAB3NzaC1yc2EAAAABJQAAAQEAr4Ffd3LD1pa7KVSBDU+lq0M7vNvLp6TewkP7
*******C4eq1cdJACBPyjqUCoz00r+LqkGA6sIFGooeVuUXTOxbYULuNQ==
---- END SSH2 PUBLIC KEY ---- 

Saya menghilangkan beberapa huruf di tengah, diganti dengan *, jika tidak, StackOverflow memberi tahu saya bahwa format kode salah, jangan biarkan saya memposting。

ini adalah kunci ssh saya yang dihasilkan oleh puttygen, Anda harus mengubahnya

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAr4Ffd3LD1pa7KVSBDU+lq0M7vNvLp6TewkP7wfvKGWWR7wxA8GEXJsM01FQw5hYWbNF0CDI7nCMXDUEDOzO1xKtNoaidlLA0qGl67bHaF5t+0mE+dZBGqK7jG9L8/KU/b66/tuZnqFqBjLkT+lS8MDo1okJOScuLSilk9oT5ZiqxsD24sdEcUE62S8Qwu7roVEAWU3hHNpnMK+1szlPBCVpbjcQTdiv1MjsOHJXY2PWx6DAIBii+/N+IdGzoFdhq+Yo/RGWdr1Zw/LSwqKDq1SmrpToW9uWVdAxeC4eq1cdJACBPyjqUCoz00r+LqkGA6sIFGooeVuUXTOxbYULuNQ== yourname@hostname

Dalam kasus saya, saya telah menghapus beberapa komentar, seperti

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20170502"
---- END SSH2 PUBLIC KEY ----

dan tambahkan ssh-rsadi awal, tambahkan yourname@hostnamedi akhir. catatan : jangan hapus ==di akhir dan Anda harus mengubah "namaAnda" dan "nama host" untuk Anda, Dalam kasus saya, adalah uaskh@mycomputer, namaAnda adalah bahwa Anda ingin masuk ke vps Anda. ketika semua hal ini telah dilakukan, Anda dapat mengunggah publik -key ke rumah uaskh ini ~/.ssh/authorized_keysoleh cat public-key >> ~/.ssh/authorized_keysmaka sudo chmod 700 ~/.ssh sudo chmod 600 ~/.ssh/authorized_keysmaka Anda harus mengubah / etc / ssh / sshd_config,RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys sistem operasi saya adalah CentOS 7, ini adalah pertama kalinya saya untuk pertanyaan anwser, saya akan mencoba upaya saya untuk melakukan, Terima kasih!

nuklir
sumber
1
@Ronak Bhatt, Terima kasih atas upaya saya, saya mencoba membuat kode lebih jelas, untuk semua kode ini saya menggunakan ctrl + K, tetapi StackOverflow mengatakan kepada saya "jawaban Anda berisi kode, harap gunakan format yang benar", dan saya tidak tahu mengapa berbeda antara tertulis dan terkirim, saya tidak bisa mengirimkan jawaban saya, yang membuat saya harus menambahkan kode dalam 'kode' baris demi baris. Saya akan belajar format penurunan harga, pikir.
nuklir
Dalam versi saat ini, PuttyGen akan menampilkan kunci publik dalam format yang benar untuk salin & tempel. Jadi tidak perlu lagi mengonversi kunci pub putty secara manual ke format yang benar.
Erik Kalkoken
1

Ya Tuhan, aku menghabiskan waktu berhari-hari untuk memperbaiki ini. Jadi inilah yang berhasil untuk saya. Saya kembali ke lipatan root seperti ini: cd / root / mkdir .ssh cd .ssh chmod 700 .ssh nano -w authorized_keys service ssh restart Jadi saya menggunakan root untuk login melalui Putty dan berhasil. jadi coba lakukan hal yang sama dengan pengguna yang ingin Anda gunakan dalam dempul.

Glory To Glory
sumber
1

Dalam kasus saya, itu adalah pengguna yang salah: pengaitan grup. Saya menyelesaikan pengaturan pengguna dan grup yang tepat:

sudo chown [user]:[group] -R /home/[user]
Fede
sumber
0

Saya menggunakan file PUTTYgen dengan psftp, dan saya mengalami masalah ini di Windows Server saya ketika kami diminta untuk membuat kunci baru untuk klien. File private_key_name .ppk dan file open_ssh.txt harus berada di direktori yang sama agar koneksi dapat bekerja.

Geir Borse
sumber
0

Dalam kasus saya, rumah di nfs adalah 777, perlu 750. Itu memperbaiki masalah.

dghadge.dll
sumber
0

Saya memiliki masalah ini di mana sshd hanya membaca authorized_keys2.

Menyalin atau mengganti nama file memperbaiki masalah saya.

cd  ~/.ssh
sudo cat authorized_keys >> authorized_keys2

PS Saya menggunakan Putty dari Windows dan menggunakan PuTTyKeygen untuk pembuatan pasangan kunci.

Chad Liu
sumber
0

Saya menghadapi masalah serupa ketika mencoba masuk melalui Mobaxterm. Kunci pribadi dibuat melalui puttygen. Regenerasi kunci membantu dalam kasus saya.

Prada
sumber
0

Saat menggunakan Cpanel Anda dapat memeriksa apakah kunci tersebut diotorisasi

Akses SSH >> Kunci publik >> Kelola >> Otorisasi atau Batalkan Otorisasi.

Tomás Cot
sumber
0

jika Anda mendapatkan kesalahan ini /var/log/secure

kesalahan: key_read: key_from_blob AA
AAB3NzaC1yc2EAAAABJQAAAQEAoo3PFwX04NFG + rKz93l7em1BsUBzjHPMsswD

itu berarti kunci Anda memiliki ruang, jika Anda membuat kunci melalui puttgen saat Anda melihat .ppkfile, akan terlihat seperti ini:

AAAAB3NzaC1yc2EAAAABJQAAAQEAoo3PFwX04NFG+rKz93l7em1BsUBzjHPMsswD
al74MLaJyhQD0pE23NS1izahbo1sJGnSJu2VJ//zxidSsba6xa6OvmeiKTwCz0E5
GMefdGVdpdbTlv99qjBl1+Nw1tDnHIC0+v9XmeZERQfCds9Kp1UivfReoYImntBC
gLtNyqRYrSu8csJCt7E1oY8QK6WP1vfYgAQ2taGyS9+g7FHyyf5VY2vH3oWzzbqz
xjsSLAv3zEQSm1LzSw9Pvc8iwasFyUMBOPj31CKQYTXyX8KpJTr0Zb7oqMauBE5L
VwxZhlcJHbj0FsMbF/+GRjvgexymCi3bHmwGQ6FEADNd0RkhdQ==

dan ketika Anda mencoba menempelkannya Anda akan mendapatkan kesalahan dalam membaca kunci, jadi coba edit kunci dan buat satu baris dan coba

ini akan terlihat seperti sesuatu

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAoo3PFwX04NFG+rKz93l7em1BsUBzjHPMsswDal74MLaJyhQD0pE23NS1izahbo1sJGnSJu2VJ//zxidSsba6xa6OvmeiKTwCz0E5GMefdGVdpdbTlv99qjBl1+Nw1tDnHIC0+v9XmeZERQfCds9Kp1UivfReoYImntBCgLtNyqRYrSu8csJCt7E1oY8QK6WP1vfYgAQ2taGyS9+g7FHyyf5VY2vH3oWzzbqzxjsSLAv3zEQSm1LzSw9Pvc8iwasFyUMBOPj31CKQYTXyX8KpJTr0Zb7oqMauBE5LVwxZhlcJHbj0FsMbF/+GRjvgexymCi3bHmwGQ6FEADNd0RkhdQ== username@domainname

Sandeep Chhabra
sumber
0

Apa yang berhasil bagi saya adalah:

  • Menghentikan instance ec2
  • lepaskan volume
  • lampirkan volume dengan instance lama menggunakan kunci yang sama dan dapat SSH
  • pasang volume di beberapa folder temp
  • memeriksa file di direktori mount_point / home / ec2-user / .ssh / authorized_keys
    • Idealnya, file ini perlu memiliki informasi kunci kami tetapi bagi saya file ini kosong
  • menyalin file official_keys instance lama ke volume yang baru dipasang
  • lepaskan perangkat
  • lampirkan kembali ke contoh ec2 asli
  • mulai dan biarkan lulus pemeriksaan kesehatan

Kali ini berhasil untuk saya. Namun saya tidak tahu mengapa ia tidak memiliki informasi file kunci saya pada awalnya ketika instans diluncurkan. Periksa tautan ini juga https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectingMindTerm

Sohaib Mustafa
sumber
0

Dalam kasus saya, masalahnya seperti ini, selama pembuatan kunci ssh, saya sengaja mengubah direktori default dari kunci tersebut. Jadi, daripada menggunakan lokasi ~ / .ssh / authorized_keys yang saya pilih untuk digunakan ~/home/user/folder1/.ssh/authorized_keys, agar perubahan ini bekerja, saya seharusnya membuat perubahan yang sama tentang lokasi baru pada file ini /etc/ssh/sshd_config. Tetapi sampai saya menyadari hal ini, saya sudah mencoba beberapa solusi yang disarankan oleh orang lain di sini termasuk mengatur izin folder rumah ke 700dan direktori .ssh ke 600.

jstMusa
sumber
0

Langkah-langkah untuk memperbaiki Root mount (Yang saya ikuti ketika saya mengubah izin dengan folder ec2-user dan file kunci otorisasi) Proses ini akan mirip dengan melepaskan dan memasang pen-drive

Berikut adalah beberapa skenario lain yang mungkin Anda temui -

  1. Anda menggunakan kunci pribadi SSH tetapi kunci publik yang sesuai tidak ada di file authorized_keys.
  2. Anda tidak memiliki izin untuk file authorized_keys Anda.
  3. Anda tidak memiliki izin untuk folder .ssh.
  4. File authorized_keys atau folder .ssh Anda tidak diberi nama dengan benar.
  5. File authorized_keys atau folder .ssh Anda telah dihapus.

Langkah-langkah untuk memperbaikinya

  • Hentikan instance Ec2 yang bermasalah
  • Lepaskan volume root (/ dev / sda1)
  • Buat instance ec2 atau gunakan yang sedang berjalan
  • Pasang volume yang terlepas (/ dev / sdvf) ke instance ec2 baru

Sekarang setelah Anda login ke ec2 baru, jalankan langkah-langkah di bawah ini

  • Perintah lsblk - daftar semua tunggangan yang tersedia
  • Pilih nilai pemasangan yang Anda lepaskan dari instance bermasalah
  • Saat pengguna ec2, jalankan "sudo mount / dev / mapper / rootvg-home / mnt" sudo mount /dev/mapper/rootvg-home /mnt
  • Kemudian ubah direktori ke / mnt
  • Lakukan semua perubahan yang diperlukan

Sekarang kami telah memperbaiki volume kami dengan masalah yang kami hadapi. Sebagian besar bisa jadi masalah izin pengguna - Umount / mnt untuk melepasnya - Sekarang pergi ke konsol dan arahkan ke volume yang dilampirkan ke instance baru dan lepaskan - Setelah terlepas, lampirkan ke volume baru Anda sebagai / dev / sda1

Dengan itu Anda harus bisa login dengan sukses

Barath Ravichander
sumber
0

Seperti pengalaman saya, saya menyarankan Anda untuk menghasilkan kunci dari dempul, tidak boleh menghasilkan dari sisi linux. Karena kuncinya adalah format PEM lama. Pokoknya, hanya saran saya. Saya melakukan langkah-langkah di bawah ini dan bekerja dengan baik dengan saya dan dengan tim saya.

  1. Hasilkan pasangan kunci dengan PuTTYGen.exe di lokal Anda (ketik: RSA, panjang: 2048 bit).

  2. Simpan kunci pribadi / publik sebagai file " id_rsa.ppk / id_rsa.pub " di lokal Anda.

  3. Buat file "authorized_keys" di lokal Anda, lalu masukkan kunci publik di " id_rsa.pub " ke " authorized_keys ". Ingat konten harus dimulai dengan " ssh-rsa " dan hanya satu baris .

masukkan deskripsi gambar di sini

  1. Gunakan WinScp (atau perintah putty) untuk menyalin " authorized_keys & id_rsa.pub " dari lokal Anda ke linux-user-home " /home/$USER/.ssh/ ".

masukkan deskripsi gambar di sini

  1. Jalankan perintah ini:

    chmod 700 .ssh

    chmod 600 .ssh / authorized_keys

    chown $ USER: $ USER .ssh -R

  2. Uji pengaturan koneksi Anda dengan memuat kunci pribadi " id_rsa.ppk " di profil PuTTY.exe, lalu klik buka (masukkan frasa sandi Anda jika ada).

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

m.nguyencntt
sumber
0

periksa kunci Anda, ini harus menjadi kunci rsa (id_rsa.pub) hari ini dan bukan lagi kunci dss (id_dsa.pub), gunakan puttygen 0.70 dan pilih RSA pada jenis kunci yang akan dihasilkan, ganti kunci publik pada host ~ /. ssh / authorized_keys

Don Matteo
sumber
0

Setelah menambahkan kunci, masuk seolah- ec2-userolah Anda menggunakan mesin Amazon Linux

sachin_ur
sumber
-1

Alasan lain bisa jadi UTF-8 BOM dalam authorized_keysfile tersebut.

TN.
sumber