Saya memiliki login berbasis ssh yang berfungsi dengan baik. Kemudian, saya mengubah nama host di komputer saya, dan login berbasis kunci berhenti berfungsi. Tampaknya masuk akal. kunci mungkin bergantung pada nama host lama saya. Jadi, saya menghapus semua kunci saya dan semua file di ~ / .ssh / dan dibuat ulang (dan mengubah otor_keys pada server yang saya hubungkan)
Sekarang, setiap kali saya mencoba untuk ssh, itu hanya hang tanpa kata sandi, di mana pun saya mencoba ssh ke - bahkan server di mana saya tidak memiliki pengaturan login berbasis kunci. Tidak ada di .ssh / config.
Terlebih lagi, ketika saya 'su -' untuk root, ssh bekerja dengan sempurna. tidak ada masalah sama sekali. Ini hanya terjadi pada akun pengguna saya.
Di bawah ini adalah beberapa informasi debug dari ssh
ssh -vv [email protected] OpenSSH_5.2p1, OpenSSL 0.9.8k 25 Mar 2009 debug1: Membaca data konfigurasi / Pengguna / nama file / file. config debug1: Membaca data konfigurasi / usr / etc / ssh_config ...... debug1: Host 'myremoteserver.com' dikenal dan cocok dengan kunci host RSA. debug1: Ditemukan kunci di / Pengguna / nama pengguna / .ssh/known_hosts:1 debug2: bit diatur: 512/1024 debug1: ssh_rsa_verify: signature benar debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS terkirim debug1: mengharapkan SSH2_MSG_NEWKEYS debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS diterima debug1: SSH2_MSG_SERVICE_REQUEST terkirim debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT diterima
Dan kemudian hanya hang di sini .....
Berikut adalah dtruss (seperti strace tetapi untuk OSX) output di dekat ujung tempat hang: sudo dtruss ssh -vv [email protected]
pilih (0x4, 0x508200, 0x0, 0x0, 0x0) = 1 0 baca (0x3, "$ \ 222 \ 351 {L \ 363 \ 261 \ 25063sN \ 216 \ 300 @ q7 \ 203 \ 276b \ 257 \ 354 \ 336 \ 260! {\ 342 \ 017 \ 271 = \ 222, \ 245 \ 347t \ 006 \ 225 \ 257 \ 333; \ 204 \ 020] \ 242 \ 005z # \ 0 ", 0x2000) = 48 0 tulis (0x2, "debug2: service_accept: ssh-userauth \ r \ n \ 0", 0x26) = 38 0 connect (0x4, 0xBFFFEEA2, 0x6A) = 0 0 tulis (0x4, "\ 0", 0x4) = 4 0 tulis (0x4, "\ v5 \ 004 \ 0", 0x1) = 1 0 baca (0x4, "\ 0", 0x4) = -1 Err # 4
Tampaknya mencoba untuk membaca sesuatu dan hanya menggantung ini. Jika ada yang punya saran atau ide, saya akan sangat berterima kasih!
Jawaban:
Alasan klien ssh Anda hang untuk akun Anda tetapi tidak untuk akun lain (root) mungkin karena ada sesuatu yang salah dengan ssh-agent Anda. Entah itu
ssh-agent
tidak berjalan atau konfigurasinya salah dalam beberapa cara.Untuk mendapatkan konfirmasi tentang itu, Anda dapat mencoba yang berikut:
Jika Anda kemudian diminta untuk memasukkan frasa sandi ke ssh_key Anda, itu berarti Anda memiliki masalah dengan ssh-agent Anda.
Lihat juga posting saya tentang pertanyaan terkait ini .
sumber
Bisakah saya menarik minat Anda dengan DNS terbalik?
Pada dasarnya, klien melakukan reverse DNS di server, atau sebaliknya.
Saya mengusulkan tes:
Nonaktifkan pencarian DNS di server dengan mengedit / etc / ssh / sshd_config dan memastikan "UseDNS" diatur ke "tidak".
Jalankan "service ssh reload" (atau apa pun yang menyebabkan daemon ssh Anda membaca ulang konfigurasi), lalu coba lagi.
Secara kebetulan, tidak bahagia akhirnya meminta Anda setelah jangka waktu yang lama, bukan?
Hal lain yang mungkin Anda periksa adalah melihat isi / etc / hosts di server untuk memastikan tidak ada yang salah di sana.
sumber
Periksa izin pada direktori ~ / .ssh dan file di dalamnya. Umask default Anda mungkin terlalu permisif & ketika Anda membuat ulang file, Anda mungkin secara tidak sengaja memberi mereka izin yang salah. Saya telah dibakar oleh ini beberapa kali sendiri. Tidak ada klien ssh (atau server) yang saya gunakan pernah memberikan pesan kesalahan yang berguna tentang ini ...
sumber
Anda memiliki ruang disk kosong di klien Anda (dan di server Anda)?
df-h
sumber
Saya punya masalah serupa.
Tampaknya saya dapat mem-bypass masalah dengan memaksa nama login seperti itu.
sumber
Bagi saya, meningkatkan ke Snow Leopard memecahkan masalah ini. Jadi, saya pikir itu terkait dengan bug di OSX.
sumber
Jika itu karena kunci yang disimpan, Anda harus dapat menghapusnya dari direktori ~ / .ssh Anda di file known_hosts. Cukup temukan entri dan hapus maka itu akan meminta Anda lagi.
Di sisi lain, itu harus memberi peringatan ketika tuan rumah tidak cocok dengan apa yang direkam.
Saya memiliki masalah di mana pada OS X tindakan pencarian nama host seperti gagal; koneksi beberapa kali keluar dari menunggu begitu lama, atau ketika muncul prompt itu sudah menunggu begitu lama itu memberi sekitar sepuluh detik bagi Anda untuk memasukkan kata sandi sebelum menjatuhkan koneksi. Saya tidak pernah bisa melacaknya meskipun orang menyarankan menambahkan host yang dimaksud ke file host. Saya kira itu hanya "kesalahan dengan pencarian DNS OS X" dan diharapkan dapat ditoleransi ... jika orang lain memiliki masalah ini dan menyelesaikannya, saya ingin tahu tentang hal itu.
sumber
Periksa log di server. Biasanya di
/var/log/auth.log
(Debian / Ubuntu) atau/var/log/secure
(RedHat / CentOS). Setiap masalah dengan menghubungkan biasanya dicatat di sana.sumber
Pastikan / etc / hostname diakhiri oleh baris baru.
sumber