![Sie können sich nach der Installation von Gitolite nicht bei SSH anmelden? Die PTY-Zuweisungsanforderung ist auf Kanal 0 fehlgeschlagen.](https://rvso.com/image/1316779/Sie%20k%C3%B6nnen%20sich%20nach%20der%20Installation%20von%20Gitolite%20nicht%20bei%20SSH%20anmelden%3F%20Die%20PTY-Zuweisungsanforderung%20ist%20auf%20Kanal%200%20fehlgeschlagen..png)
Nachdem ich Gitolite gemäß diesen Anweisungen auf meinem Synology DiskStation NAS installiert habe: http://www.bluevariant.com/2012/05/comprehensive-guide-git-gitolite-synology-diskstation/
Mir fiel auf, dass ich es geschafft hatte, Gitolite zu installieren, aber aus irgendeinem Grund konnte ich die Installation nicht mit dem Benutzer „git“ ausführen – aber ich konnte dies als „root“ tun.
Nach der Installation habe ich mich abgemeldet. Aber jetzt jedes Mal, wenn ich versuche, mich erneut über SSH anzumelden: $ ssh root@iptonas
Ich habe diesen Fehler erhalten: PTY-Zuweisungsanforderung auf Kanal 0 fehlgeschlagen
Ich habe irgendwo gelesen, dass Gitolite jetzt SSH-Anmeldungen deaktiviert. Wie kann ich sonst wieder in die Shell gelangen?
Antwort1
error: PTY allocation request failed on channel 0
Völlig normal, wie erwartet und nicht blockierend (d. h. der SSH-Vorgang würde fortgesetzt)
Allerdings haben Sie die Installation als Root durchgeführt, was schlecht ist, insbesondere wenn man bedenkt,ssh Gitolite-Seite:
Wenn Sie Gitolite installieren, sind Sie ein „Systemadministrator“, ob Sie es wollen oder nicht.
Wenn Sie den Standard-SSH-Modus verwenden (also nicht den HTTP-Modus), ist SSH eine notwendige Fähigkeit. Bitte nehmen Sie sich die Zeit, zumindest so viel zu lernen, dass der passwortlose Zugriff funktioniert.
Der wichtigste Aspekt von Gitolite ist die Verwendung vonerzwungener Befehl, um die interaktive Shell zu verweigern und beliebige Befehle (einschließlich der Git-Befehle) abzufangen, wodurch die Zugriffskontrolle auf Git-Repos erzwungen werden kann.
Das bedeutet, dass Ihre ~root/.ssh/authorized_keys
Datei eine Zeile mit folgender Zeile enthält:
command="/devit_home/users/vobadm/gitpoc/ce7/gitolite/bin/gitolite-shell gitoliteadm",no-port-forwarding,no-X11-for warding,no-agent-forwarding,no-pty ssh-rsa AAAAB3N
Dies no-port-forwarding
ist für die Warnmeldung " PTY allocation request failed on channel 0
" verantwortlich. Dies verhindert jedoch nicht, dass Gitolite-Operationen ordnungsgemäß ausgeführt werden.
Sehen "wie nutzt Gitolite all diese SSH-Magie?".
Bei SSH-Problemen schauen Sie in "SSH-Fehlerbehebung".
Sie müssen auf andere Weise als auf Ihren Server zugreifen ssh
und die Zeile entfernen, die mit command
in beginnt ~root/.ssh/authorized_keys
.
Wissen Sie, wie ich den Gitolite-Installationsprozess mithilfe von Telnet wiederholen kann?
Sobald Sie als Root angemeldet sind:
- Entfernen Sie in der Datei die Zeile, die mit dem Befehl beginnt
~root/.ssh/authorized_keys
. - Stellen Sie sicher, dass Ihr öffentlicher Root-Schlüssel in derselben Datei registriert ist (also ohne „
command=
“ davor).
Dadurch wird ein Root-Zugriff über SS sichergestellt.
Führen Sie die Installation dann erneut durch, allerdings mit einem „ sudo git
First“.
Sie müssen bei der Installation „git“ sein.
Sie müssen zunächst auf der Clientseite einen git
privaten SSH-Schlüssel und einen git.pub
öffentlichen Schlüssel generieren.
Kopieren Sie den öffentlichen Schlüssel auf den Server: Sie übergeben diesen öffentlichen Schlüssel an den gitolite install
Befehl.
Und wieRyanErwähnungen inseine Antwort, Verwendet
DiskStation> /volume1/homes/git/gitolite/install -ln
(um die Installation mit ~git/bin
einem anderen Verzeichnis als dem "Systempfad root-geschützt" zu verknüpfen /bin
).
Antwort2
Ich stimme zu, dass Gitolite wahrscheinlich nicht als Root ausgeführt werden sollte. Ich habe diesen Fehler auch gemacht. Ich füge nur einige zusätzliche Informationen hinzu, falls es hilft.
Ich konnte dennoch als Root per SSH auf die Zielmaschine zugreifen, indem ich meinem SSH-Befehl die folgenden Flags hinzugefügt habe:
PreferredAuthentications=keyboard-interactive,password -o PubkeyAuthentication=no
Dies setzt natürlich voraus, dass Ihrem Root-Konto ein Passwort zugeordnet ist. Sie können sich aufgrund der Art und Weise, wie Gitosis die SSH-Datei known_hosts bearbeitet, nicht mit einem privaten Schlüssel authentifizieren. Diese Datei wird jedoch in keiner Weise konsultiert, wenn Sie Ihre bevorzugte Authentifizierung mit den oben aufgeführten Flags angeben.