Gagal terhubung ke server melalui SSH - “Server menolak mengalokasikan pty”

10

Saya memiliki STRATO V-PowerServer yang berjalan dengan Ubuntu 10.10 untuk barang-barang saya tetapi belakangan ini ada masalah koneksi ke server melalui ssh.

Pada dasarnya yang saya miliki adalah akses ssh ke server dan jika perlu saya bisa boot ke mode pemulihan di mana semua barang saya dalam / perbaikan sehingga saya dapat melakukan perbaikan pada sistem.

Masalahnya adalah, ketika saya mencoba untuk terhubung ke server melalui ssh saya mendapatkan kesalahan ini:

Using username "florian".
[email protected]'s password:
Server refused to allocate pty
Linux hwn36335 2.6.18-028stab070.5 #1 SMP Fri Sep 17 15:37:23 MSD 2010 i686 GNU/Linux
     Ubuntu 10.10

                 Welcome to Ubuntu!
                                    * Documentation:  https://help.ubuntu.com/
                                                                              /home/florian/.zlogin:1: command not found: display_info

Jadi shell tidak terbuka dan saya tidak bisa memasukkan perintah apa pun. Saya sudah mencoba google untuk "Server menolak mengalokasikan pty" tetapi tidak dapat menemukan apa pun yang membantu, meskipun masalah telah terjadi pada orang lain sebelumnya. Selain itu, saya kadang-kadang bahkan mendapatkan kesalahan yang berbeda: "permintaan alokasi pty gagal di saluran 0" alih-alih kesalahan lainnya. Untuk masalah ini yang bisa saya temukan adalah ini:

http://blog.dinotools.de/2010/10/03/fehler-pty-allocation-request-failed-on-channel-0

Tapi sayangnya itu tidak membantu ...

Adakah yang tahu mengapa kesalahan ini disebabkan dan apa yang bisa saya coba untuk memperbaikinya?

Akan lebih bagus jika Anda bisa memberi saya tips. Saya tahu beberapa hal dasar dan tahu cara bekerja dengan server saya, tetapi jika ini masuk jauh ke dalam pemecahan masalah saya pada batas saya ... ;-) Terima kasih!

Penambahan 1:

/var/log/auth.log

Jan 24 16:20:01 h1696522 CRON[3417]: PAM unable to dlopen(/lib/security/pam_smbpass.so): /lib/security/pam_smbpass.so: cannot open shared object file: No such file or directory
Jan 24 16:20:01 h1696522 CRON[3417]: PAM adding faulty module: /lib/security/pam_smbpass.so
Jan 24 16:20:01 h1696522 CRON[3417]: pam_unix(cron:session): session opened for user www-data by (uid=0)
Jan 24 16:20:03 h1696522 CRON[3417]: pam_unix(cron:session): session closed for user www-data

/var/log/daemon.log

Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50003.vdb - dwr50003.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50004.vdb - dwr50004.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50005.vdb - dwr50005.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50006.vdb - dwr50006.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50007.vdb - dwr50007.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50008.vdb - dwr50008.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwr50009.vdb - dwr50009.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/dwrtoday.vdb - dwrtoday.vdb with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/updates/timestamp -    timestamp with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: /var/drweb/bases/update.drl -   update.drl with such CRC32 already exists, downloading has been skipped
Jan 24 16:00:02 h1696522 update.pl[14292]: deleting old files ...
Jan 24 16:00:02 h1696522 update.pl[14292]: moving downloaded files from temporary to working directory ...
Jan 24 16:00:02 h1696522 update.pl[14292]: sending notifications ...
Jan 24 16:00:02 h1696522 update.pl[14292]: summary => updated: 0, removed: 0 files and 0 messages
Jan 24 16:00:02 h1696522 update.pl[14292]: Finish Success:   2011-01-24 16:00:02
Jan 24 16:00:02 h1696522 update.pl[14292]: Socket path is /var/drweb/run/updateSock
florianbaethge
sumber
1
Jangan teralihkan oleh kesalahan pty, Anda harus memverifikasi bahwa Anda. file di direktori home pengguna Anda tidak rusak. Buat pengguna lain dan bandingkan file default di direktori pengguna baru dengan file untuk florian.
Patrick R
Terima kasih ... Saya telah menambahkan pengguna lain tetapi file di sana sama. .bash_rc memiliki sedikit perbedaan, tetapi karena shell saya disetel ke zsh, ia seharusnya tidak mencoba menggunakan yang ini, kan? @Fussy: Saya telah menambahkan baris terakhir auth.log saya dan daemon.log saya ke pertanyaan. Hal-hal drweb ini tampaknya merupakan sisa dari instalasi asli, yang memiliki Plesk di atasnya (saat itu masih pada 8.04 yang saya upgrade beberapa waktu lalu)
florianbaethge

Jawaban:

3

Apakah Anda mencoba membuat kembali perangkat pty dan tty?

[email protected]:~# /sbin/MAKEDEV tty
[email protected]:~# /sbin/MAKEDEV pty

Tampaknya menjadi masalah yang diketahui pada server virtual ...

Jika Anda tidak memiliki akses ke shell apa pun, Anda dapat mencoba mengirim perintah melalui ssh:

florian@localmachine:~$ ssh [email protected] "/sbin/MAKEDEV tty"
florian@localmachine:~$ ssh [email protected] "/sbin/MAKEDEV pty"

Diedit untuk mencerminkan komentar Anda:

Jika Anda menggunakan chroot, Anda juga harus me-mount / proc, / dev dan / sys:

root@h1696522:/# mount -o bind /proc /repair/proc
root@h1696522:/# mount -o bind /dev /repair/dev
root@h1696522:/# mount -o bind /sys /repair/sys

Itu seharusnya bekerja sekarang.

petrus
sumber
Ya saya memiliki akses ketika saya menggunakan mode pemulihan (dan chroot ke / perbaikan): root @ h1696522: / home # / sbin / MAKEDEV tty / sbin / MAKEDEV: peringatan: tidak bisa membaca / proc / perangkat root @ h1696522: / home # / sbin / MAKEDEV pty / sbin / MAKEDEV: peringatan: tidak bisa membaca / proc / devices / sbin / MAKEDEV: peringatan: tidak bisa membaca / proc / perangkat
florianbaethge
Ini berhasil untuk saya !!! Terima kasih banyak atas bantuan Anda!
florianbaethge
7

Jika Anda memiliki akses konsol

mount devpts /dev/pts -t devpts
Andre
sumber
1
Jika Anda dapat SSH sebagai root (dan kadang-kadang sistem dikonfigurasi untuk mengizinkannya), Anda dapat menggunakan metode ini di atas melalui SSH. Bahkan, saya baru saja melakukannya. ssh root@host "mount devpts /dev/pts -t devpts"tepat seperti yang diperintahkan dokter.
Emmaly Wilson
Ini bekerja untuk saya, tetapi saya harus melakukannya di setiap reboot sekarang. Bagaimana cara mengotomatisasi ini?
Andrew Savinykh
3

Saat saya mengatasi kesalahan ini, saya memperbaikinya dengan menyatakan bahwa paket udev telah diinstal dan berjalan. Udev menangani pembuatan node perangkat saat dibutuhkan, seperti PTS / x yang dibutuhkan oleh ssh. Cobalah.

coredump
sumber
1

Coba ini:

ssh root@host "mount -o remount /dev/pts"
Evgeniy
sumber
0

Saya harus melakukan kombinasi dari apa yang diposting di sini. Izin saya salah dan /dev/ptssudah dipasang.

mount -t devpts -o remount,seclabel,nosuid,noexec,uid=0,gid=5,mode=620 devpts /dev/pts

Gunakan ini untuk memverifikasi bahwa izin Anda benar.

grep devpts /proc/mounts

Periksa juga /dev/pts. Itu harus 755 dan dimiliki oleh root.

ls -dl /dev/pts
chmod 755 /dev/pts
chown root:root /dev/pts

Periksa file sshd_config. Izin tidak boleh diatur ke no. Jika itu adalah komentar atau set ke ya. Kemudian restart sshd.

vi /etc/ssh/sshd_config
service sshd restart
systemctl restart sshd
Cokedude
sumber