Wenn ich mich so mit meinem Server verbinden möchte
ssh -a [email protected] -p 22
Es gibt mir zwei Fehlermeldungen:
PTY allocation request failed on channel 0
shell request failed on channel 0
Wenn ich den Parameter benutze, verschwindet -T
die erste Fehlermeldung. Aber wie kann man den zweiten beheben? Ich kann keine Verbindung herstellen. Mit anderen Servern kann ich mich problemlos verbinden.
Ich bin auf MAC OS 10.9.
Der Parameter -v
zeigt mir diese Debug-Ausgabe:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to xxx.your-server.de [188.40.3.15] port 22.
debug1: Connection established.
debug1: identity file /Users/xxx/.ssh/id_rsa type -1
debug1: identity file /Users/xxx/.ssh/id_rsa-cert type -1
debug1: identity file /Users/xxx/.ssh/id_dsa type -1
debug1: identity file /Users/xxx/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version mod_sftp/0.9.8
debug1: no match: mod_sftp/0.9.8
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 55:f5:ca:ca:01:45:0f:7b:71:0a:1f:ba:9e:25:17:fb
debug1: Host 'xxx.your-server.de' is known and matches the RSA host key.
debug1: Found key in /Users/xxx/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/xxx/.ssh/id_rsa
debug1: Trying private key: /Users/xxx/.ssh/id_dsa
debug1: Next authentication method: password
Nachdem ich das Passwort eingegeben habe, erhalte ich Folgendes:
debug1: Authentication succeeded (password).
Authenticated to xxx.your-server.de ([xxx.xxx.3.15]:22).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = de_DE.UTF-8
shell request failed on channel 0
ssh [-neccessary options] /bin/bash -i
. Dies könnte eine informativere Fehlermeldung von der Serverseite geben (z. B. "Berechtigung verweigert" oder "Segmentierungsfehler")debug1: Remote protocol version 2.0, remote software version mod_sftp/0.9.8
Zeile zeigt an, dass der Remote-Server proftpd + mod_sftp ist und das Modul mod_sftp keine Shell-Anforderungen implementiert / unterstützt, sondern nur SFTP / SCP. Also dershell request failed
Fehler.Antworten:
Es gibt ein Limit von 256 Pseudo-Terminals in einem System. Möglicherweise haben Sie eine Anwendung, bei der Pseudoterminals undicht sind. Verwenden
um zu sehen, welche Prozesse offene Pseudo-Terminals haben
Ich habe diesen Fehler erhalten (ohne PTY-Zuordnungsfehler). Es stellt sich heraus, dass eine meiner Anwendungen (QtCreator 3.0.?) Zombie-Prozesse leckte. Andere Benutzer konnten sich anmelden, sodass ich möglicherweise mein Prozesskontingent pro Benutzer erreicht habe (falls es so etwas gibt). Ich habe auf QtCreator 3.3 aktualisiert. So weit, ist es gut.
quelle
lsof: status error on /dev/pts/*: No such file or directory
.unmount und mount haben
/dev/pts
bei mir funktioniertReferenz: http://www.iitk.ac.in/LDP/LDP/lfs/5.0/html/chapter06/proc.html
quelle
mount devpts /dev/pts -t devpts
den Trick für mich getan.Ich hatte genau den gleichen Fehler beim Versuch, über ssh eine Verbindung zu meinem Server herzustellen. Wie ich sehen kann, verwenden Sie einen von Hetzner bereitgestellten Server, der über Port 22 eine Verbindung zu ihm herstellt:
Das offizielle Wiki / die offizielle Dokumentation von Hetzner sagt:
Sie müssen also eine Verbindung über Port 222 herstellen:
quelle
Ich habe ein ähnliches Problem mit einem unserer Benutzer gelöst, der nur für die Weiterleitung von SSH-Ports verwendet wurde, sodass er keinen Zugriff auf PTY benötigen muss. Dies war in der Datei .ssh / authorized_keys verboten:
Wenn Sie also versucht haben, sich bei diesem Benutzer anzumelden, wird nur eine Nachricht angezeigt
wurde zurückgegeben. Überprüfen Sie daher die Datei "authorized_keys" Ihres Benutzers.
quelle
Fügen Sie diese Zeilen einfach zu Ihrem
/etc/mtab
und hinzu/etc/fstab
und starten Sie das System neu.quelle
ssh [email protected] '/sbin/reboot'
Versuche dies:
quelle
Ich habe gerade herausgefunden, was das Problem in meinem Fall war (Provider Strato): Ich hatte am Ende das gleiche Problem mit der Ausgabe "Shell-Anfrage auf Kanal 0 fehlgeschlagen".
Ich muss das Master-Passwort mit dem Web-Domain-Namen als Login verwenden. (Auf Deutsch www.wunschname.de, wobei wunschname Ihre Webadresse ist.)
Ein SSH-Login mit SFTP-Benutzernamen und den entsprechenden Passwörtern ist erfolglos. (Obwohl scp und sftp mit diesen sftp-Benutzern funktionieren!)
quelle
Es ist eine alte Frage, aber wenn jemand wie ich hierher kommt ...
Dies kann auf ein falsches Datum auf dem Server zurückzuführen sein. Wenn Sie mit einem eingebetteten System arbeiten, kann dies die Ursache sein ... Überprüfen Sie also Ihr Datum:
quelle
Der Neustart der Instanz von der AWS-Konsole hat bei mir funktioniert. Es gab einen Dienst, bei dem Dateiverbindungen verloren gingen und der
lsof
bei der Suche half.quelle
shell request failed on channel 0
Das heißt, Sie haben keinen Zugriff auf Shell- oder Remote-Befehle. Korrigieren Sie Ihre Benutzerberechtigung auf dem Server, um Shell-Zugriff zu erhalten, oder wenn Sie nur die Verwendung
-N
und-T
Optionen des Tunnels wünschenquelle
Ich stand auch vor dem gleichen Problem. Nur ein Neustart meiner Server löste das Problem.
quelle
Dies hat mir aus den verschiedenen Antworten geholfen.
quelle
Remounting / dev / pts funktioniert bei mir. Sie können dies remote über ssh tun, wenn Sie ssh wie folgt auf dem betroffenen Computer ausführen. ssh fordert keine tty an, wenn Befehle wie diese ausgeführt werden. Auf diese Weise können Sie / dev / pts remote erneut bereitstellen
ssh user @ host - 'mount -o remount, rw / dev / pts'
quelle
mount: only root can use "--options" option
. Nun, ich habe keineroot
Vorrechte.Ich sehe dies gelegentlich beim Hochfahren einer VM. Unser Automatisierungssystem beginnt mit der Anwendung von Updates, sodass je nach Zeitpunkt ein Update für kritische Pakete erfolgen kann.
Fazit - Dies kann passieren, wenn ssh oder andere verwandte Pakete auf dem Zielcomputer aktualisiert werden.
quelle
Ich habe diesen Fehler bei der Verwendung meiner Git-Bash festgestellt. Ich konnte dieses Problem lösen, indem ich git für Windows neu installierte. Weitere Details in dieser Antwort .
quelle
Sollte eine Person sich selbst das Lesen dieses QA finden , während sie versuchen ,
ssh
in ein Gerät NetGear ReadyNAS, achten Sie darauf , dass die „rsync nur“ Checkbox ist un im Dialogfeld für den SSH - Dienst im Admin - Interface überprüft.quelle
Dies geschah, als ich versuchte, sudo zu verwenden,
ssh -t [email protected]
nachdem ich den öffentlichen Schlüssel meines lokalen Benutzers zu github hinzugefügt hatteNur ein Kopf ist bis zu den Google-glücklichen Menschen wie mir
quelle
Nur ein Neustart einer AWS-Instanz behebt den Fehler "Shell-Anforderung auf Kanal 0 fehlgeschlagen".
quelle
versuchen Sie es mit der Option -NT
ssh -NT ...
quelle