Saya bekerja pada server dengan Debian 5.2.2. Hampir tidak memiliki pengetahuan administrasi dengan Linux, saya pikir saya mengacaukan sesuatu. Saya menggunakan pembaruan apt-get dan upgrade apt-get untuk mendapatkan semuanya yang terbaru dan kemudian saya mengunduh dan menginstal Apache, PHP, dan MySQL. Alat-alat itu tampaknya berfungsi dengan baik, tetapi sekarang saya bahkan tidak bisa masuk ke server KECUALI melalui konsol lokal. Jika saya mencoba masuk melalui GUI atau jika saya mencoba masuk dari jarak jauh melalui ssh, scp, atau apa pun, saya akan segera terputus setelah berhasil masuk. Dengan kata lain, tidak ada masalah dengan koneksi awal, tetapi ketika saya memasukkan nama pengguna dan kata sandi yang benar (untuk root atau pengguna lain), saya terputus. Dengan GUI, layar menjadi gelap selama sedetik dan kemudian menempatkan saya kembali ke prompt login. Dengan ssh, saya mendapatkan "koneksi ke [server] ditutup."
Bantuan apa pun dihargai, dan jika ada cara saya dapat memberikan informasi lebih lanjut, beri tahu saya. Terima kasih atas waktu Anda.
Suntingan:
- Setiap pengguna dapat login di konsol lokal
- Saat ini saya tidak memiliki akses lokal ke mesin, jadi yang bisa saya lakukan sekarang adalah ssh. Ini adalah output dari ssh -vvv [server] setelah saya memasukkan kata sandi:
Linux xxxxxxx.com 2.6.26.8+20091222+1056-debhawk-5.2.2-custom #1 SMP PREEMPT Tue Dec 22 10:58:57 EST 2009 i686
Last login: Mon Apr 30 14:48:07 2012 from xxxxxxx.com
debug2: channel 0: rcvd eof
debug2: channel 0: output open -> drain
debug2: channel 0: obuf empty
debug2: channel 0: close_write
debug2: channel 0: output drain -> closed
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug2: channel 0: rcvd close
debug2: channel 0: close_read
debug2: channel 0: input open -> closed
debug3: channel 0: will not send data after close
debug2: channel 0: almost dead
debug2: channel 0: gc: notify user
debug2: channel 0: gc: user detached
debug2: channel 0: send close
debug2: channel 0: is dead
debug2: channel 0: garbage collecting
debug1: channel 0: free: client-session, nchannels 1
debug3: channel 0: status: The following connections are open:
#0 client-session (t4 r0 i3/0 o3/0 fd -1/-1)
debug3: channel 0: close_fds r -1 w -1 e 6
Connection to xxx.x.xx.xx closed.
debug1: Transferred: stdin 0, stdout 0, stderr 35 bytes in 0.0 seconds
debug1: Bytes per second: stdin 0.0, stdout 0.0, stderr 3845.3
debug1: Exit status 254
/var/log/messages
dan/car/log/secure
log ketika Anda mencoba logon dari jarak jauh. Cobalah masukssh -vvv <servername>
sehingga Anda dapat melihat apa yang salah.dmesg
output mungkin berguna juga tetapi Anda harus memotong dan memposting hanya bagian yang relevan. Bisakah Anda masuk dengan akun pengguna mana saja di konsol lokal atau hanya root? Apakah daemon SSH berjalan (ps auxwww|grep ssh
)?Jawaban:
Ada beberapa posting serupa yang menyarankan bahwa ini bisa menjadi masalah dengan menelurkan shell karena pengaturan yang salah untuk path shell di
/etc/passwd
Untuk memeriksa ini, tentukan bahwa jalur shell pengguna Anda ada dan dapat dieksekusi;
Cek shell ada:
juga, periksa apakah shell tidak disetel ke salah
/sbin/nologin
atau/bin/false
, yang juga akan memblokir login, bahkan dengan otentikasi yang berhasil.http://www.linuxforums.org/forum/ubuntu-linux/173779-solved-ssh-issue.html
http://www.unix.com/hp-ux/169496-solved-ssh-debug1-exit-status -254-problem.html
http://www.mail-archive.com/[email protected]/msg04460.html
sumber
Ketika saya mengalami masalah seperti itu, saya masih memiliki satu koneksi terbuka / var / log / pesan terungkap:
Mengedit vi /etc/init.d/named diizinkan untuk mengubah cara / proc di-mount, sehingga kesalahan tidak terjadi setelah reboot.
Pada dasarnya garis
Diubah menjadi
Kiat yang saya temukan di http://www.computersalat.de/linux/strato-vserver/ssh-login-problem-nach-neustart/#comment-905
sumber
Masalah saya adalah direktori nama pengguna login tidak tersedia di
/home
direktori. Jadi, jika Anda memiliki pengguna yang disebut 'testuser', pastikan/home/testuser
direktori tersebut tersedia. Belajar itu dari/var/log/messages
file.sumber
/var/log/messages/auth.log
pointer. Juga memiliki masalah fileDi
sshd_config
file server SSH Anda , tambahkan baris berikut:Di bawah ini adalah yang
sshd_config
saya gunakan pada OS X. Saya mempostingnya (bukan satu pada mesin Debian) karena saya mengalami masalah yang sama pada OS X menggunakan Macports (dan bukan Debian).sumber
Jika Anda menggunakan LDAP ganti setiap kejadian:
di semua file di /etc/pam.d/ dengan:
Ini adalah bug dalam paket libpam-ldap (contoh file pam.d), lihat: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=612825
Pastikan sistem dapat menyelesaikan dengan benar, ssh agak khusus tentang itu.
Periksa /etc/secuiry/limits.conf untuk melihat apakah ada akun yang memiliki batasan keras pada jumlah login dan tingkatkan itu, yaitu:
Selain / var / log / pesan seperti yang disebutkan oleh Bram, periksa juga / var / log / auth.log dan silakan tempel output yang relevan. Terlalu banyak informasi lebih baik daripada terlalu sedikit.
sumber
Saya memang menemukan persis gejala-gejala ini dalam mode yang disarankan oleh @ tom-h sebelumnya ... dan resolusinya sangat mudah.
Untuk menyelesaikan, cukup
vipw
dan edit file passwd, sesuaikan shell dari / bin / false ke / bin / bash atau opsi pilihan Anda.Harap dipahami bahwa dalam beberapa kasus ini mungkin dilakukan untuk melindungi akun yang sensitif. Mungkin ada pembatasan akses lainnya. Anda harus mengetahui pentingnya melindungi server dan menyadari implikasi dari mengizinkan jenis akses ini.
sumber
Saya memiliki masalah serupa dengan Ubuntu 16.04 dengan LDAP. "ssh -vv ..." menunjukkan otentikasi kata sandi berhasil, tetapi kemudian muncul pesan: "Koneksi ke ... ditutup oleh host jarak jauh."
Diperbaiki di /etc/ldap.conf dalam konfigurasi "bind_policy".
/var/log/auth.log menunjukkan:
Menemukan bahwa masalahnya ada di /etc/ldap.conf. Saya telah mengubah bind_policy menjadi "soft", jadi nss_ldap segera kembali pada kegagalan server. Standarnya adalah "hard_open", yang terhubung kembali jika membuka koneksi ke server LDAP gagal. Mengomentari baris "bind_policy soft" mengubahnya kembali ke default, dan memecahkan masalah. :-)
sumber
Setelah banyak mencari, saya akhirnya menemukan jawaban dalam kasus CentOS 7 berjalan dalam wadah yang tidak terjangkau.
Komentari
session required pam_loginuid.so
baris dalam file /etc/pam.d/sshd, dan kemudian restart wadah.Saya menemukan solusi ini di https://discuss.linuxcontainers.org/t/regular-user-is-unable-to-login-via-ssh/4119
sumber
Semua ini adalah saran bagus. Dalam kasus saya, itu adalah pengaturan Putty yang menyebabkan rasa sakit saya:
Saya telah meletakkan perintah jarak jauh untuk mengirim ke server di bawah konfigurasi "SSH". Yang bekerja sangat baik 99% dari waktu, namun, ketika perintah gagal, itu hanya menutup sesi.
Perintah??? layar -rd
Bekerja sangat baik ketika sebenarnya ada sesi untuk melanjutkan. Gagal mengerikan setelah restart.
Solusinya:
pindahkan itu ke bashrc / bash_profile.
sumber
Dalam kasus saya, itu disebabkan oleh pengguna tanpa shell di server SSH . Ini memiliki perbaikan yang sangat mudah, cukup gunakan
-N
saklar dengan klien SSH (Buka) Anda.Dari halaman manual :
Saya hanya tidak setuju dengan beberapa jawaban di sini. Pengguna dengan shell
/bin/false
,/bin/nologin
adalah konfigurasi yang tepat, biasanya digunakan untuk pengguna yang hanya digunakan untuk terowongan SSH, tanpa kemungkinan untuk masuk dan menjalankan perintah apa pun di server SSH. Jadi jangan mencoba untuk "memperbaikinya" di server, cukup gunakan-N
saklar dengan klien SSH Anda.sumber
Pastikan
/etc/passwd
memiliki shell yang tepat untuk pengguna.Misalnya, pengguna
ahmad
tidak dapat masuk ke server karena shell yang hilang:Karena shell diatur ke
/bin/false
itu berarti penggunaahmad
tidak memiliki shell, dan untuk memperbaikinya Anda harus mengubah/bin/false
ke/bin/bash
untuk bash atau apa pun shell lainnya.Jika Anda menggunakan panel kontrol hosting web misalnya Plesk, pastikan pengguna memiliki kemampuan untuk mengakses server.
sumber
Mungkin masalah LDAP. Authconfig untuk mengonfigurasi pengaturan LDAP, Kerberos, dan SMB dijalankan tanpa,
--enablemkhomedir
sumber