SSH üzerinden sunucuya bağlanılamıyor - “Sunucu pty ayırmayı reddetti”


10

Benim şeyler için Ubuntu 10.10 ile çalışan bir STRATO V-PowerServer var ama son zamanlarda ssh üzerinden sunucu bağlantısı sorunları var.

Temelde sahip olduğum tek şey sunucuya ssh erişimidir ve gerekirse sistemde herhangi bir düzeltme yapabilmem için tüm eşyalarımın / onarımın olduğu bir kurtarma moduna önyükleme yapabilirim.

Sorun şu ki, sunucuya ssh üzerinden bağlanmaya çalıştığımda bu hatayı alıyorum:

Using username "florian".
florian@mydomain.de'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

Yani kabuk açılmıyor ve herhangi bir komut giremiyorum. Zaten "Sunucu pty ayırmayı reddetti" için google denedim ama sorun daha önce başka insanlara rağmen gerçi yardımcı oldu bir şey bulamadım. Ayrıca, bazen farklı bir hata bile alıyorum: "pty ayırma isteği diğer kanal yerine 0 kanalında başarısız". Bu sorun için bulabildiğim tek şey şuydu:

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

Ama ne yazık ki yardımcı olmadı ...

Bu hatanın neden oluştuğunu ve düzeltmeye çalışabileceğim bir fikri olan var mı?

Bana ipuçları verebilir harika olurdu. Bazı temel şeyler biliyorum ve sunucum ile nasıl çalışacağını biliyorum ama bu derin problem çözme içine gider eğer ben benim sınırlarımda ... ;-) Teşekkürler!

Ek 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

1
Pty hatasıyla yanılmayın, bunu doğrulamanız gerekir. kullanıcının ana dizinindeki dosyalar bozuk değil. Başka bir kullanıcı oluşturun ve yeni kullanıcılar dizinindeki varsayılan dosyaların florian dosyalarıyla karşılaştırın.
Patrick R

Teşekkür ederim ... Başka bir kullanıcı ekledim ama içindeki dosyalar aynı. .bash_rc'nin küçük bir farkı var ama kabuğum zsh olarak ayarlandığından, bunu kullanmaya çalışmamalı, değil mi? @Fussy: Soruya auth.log ve daemon.log dosyalarının son satırlarını ekledim. Bu drweb şeyler, Plesk'in üzerinde bulunduğu orijinal kurulumdan biraz daha fazla gibi görünüyor (hala bir süre önce yükseltmiş olduğum
8.04'te

Yanıtlar:


3

Pty ve tty cihazlarını yeniden oluşturmayı denediniz mi?

root@mydomain.de:~# /sbin/MAKEDEV tty
root@mydomain.de:~# /sbin/MAKEDEV pty

Sanal sunucularda bilinen bir sorun gibi görünüyor ...

Herhangi bir kabuğa erişiminiz yoksa, komutu ssh ile göndermeyi deneyebilirsiniz:

florian@localmachine:~$ ssh root@mydomain.de "/sbin/MAKEDEV tty"
florian@localmachine:~$ ssh root@mydomain.de "/sbin/MAKEDEV pty"

Yorumunuzu yansıtacak şekilde düzenlendi:

Bir chroot kullanıyorsanız, / proc, / dev ve / sys öğelerini de bağlamanız gerekir:

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

Şimdi çalışmalı.


Evet, kurtarma modunu kullandığımda erişimim var (ve / onarım için chroot): root @ h1696522: / home # / sbin / MAKEDEV tty / sbin / MAKEDEV: uyarı: okuyamıyor / proc / cihaz root @ h1696522: / home # / sbin / MAKEDEV pty / sbin / MAKEDEV: uyarı: okuyamıyor / proc / cihazlar / sbin / MAKEDEV: uyarı: okuyamıyor / proc / cihazlar
florianbaethge

Bu benim için çalıştı !!! Yardımın için çok teşekkürler!
florianbaethge

7

Konsol erişiminiz varsa

mount devpts /dev/pts -t devpts

1
SSH'yi root olarak yapabiliyorsanız (ve bazen sistemler buna izin verecek şekilde yapılandırılırsa) yukarıdaki yöntemi SSH aracılığıyla kullanabilirsiniz. Aslında, sadece yaptım. ssh root@host "mount devpts /dev/pts -t devpts"tam olarak doktorun sipariş ettiği şeydi.
Emmaly Wilson

Bu benim için çalıştı, ama şimdi her yeniden başlatmada yapmam gerekiyor. Bunu nasıl otomatikleştirebilirim?
Andrew Savinykh

3

Bu hatayı kodladığım zamanlarda udev paketinin kurulduğunu ve çalıştığını doğrulayarak düzelttim. Udev, ssh'nin ihtiyaç duyduğu PTS / x gibi, gerektiğinde aygıt düğümleri oluşturmaya özen gösterir. Bir şans ver.


1

Bunu dene:

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

0

Burada yayınlananların bir kombinasyonunu yapmak zorunda kaldım. İzinlerim yanlıştı ve /dev/ptszaten bağlanmıştı.

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

İzinlerinizin doğru olduğunu doğrulamak için bunu kullanın.

grep devpts /proc/mounts

Ayrıca kontrol edin /dev/pts. 755 olmalı ve kök tarafından sahiplenilmelidir.

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

Sshd_config dosyasını kontrol edin. PermitTTY, no olarak ayarlanmamalıdır. Ya yorum yapın ya da evet olarak ayarlayın. Sonra sshd'yi yeniden başlatın.

vi /etc/ssh/sshd_config
service sshd restart
systemctl restart sshd
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.