error: PTY allocation request failed on channel 0
Vollkommen normal, erwartet und nicht blockierend (dh die ssh-Operation würde verfolgen)
Sie haben jedoch die Installation als root vorgenommen, was besonders bei der Betrachtung der ssh-Gitolite-Seite schlecht ist :
Wenn Sie Gitolite installieren, sind Sie ein "Systemadministrator", ob es ihm gefällt oder nicht .
Wenn Sie den voreingestellten ssh-Modus verwenden (dh nicht den http-Modus), ist ssh eine notwendige Fertigkeit. Bitte nehmen Sie sich die Zeit, mindestens genug zu lernen, um den passwortlosen Zugriff zu ermöglichen.
Der wichtigste Aspekt in Gitolite ist die Verwendung eines erzwungenen Befehls, um die interaktive Shell abzulehnen und jeden Befehl (einschließlich der git-Befehle) abzufangen, wodurch die Zugriffskontrolle für Git-Repos erzwungen wird.
Das heißt, Ihre ~root/.ssh/authorized_keys
Datei enthält eine Zeile mit:
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
Der no-port-forwarding
ist für die Warnmeldung " PTY allocation request failed on channel 0
" verantwortlich. Dies verhindert jedoch nicht, dass Gitolite-Vorgänge ordnungsgemäß ausgeführt werden.
Siehe " Wie verwendet Gitolit all diese SSH-Magie? ".
Informationen zum SSH- Problem finden Sie unter " SSH-Problembehandlung ".
Sie müssen durch eine andere Art und Weise Zugriff auf Ihren Server gewinnen als ssh
, und entfernen Sie die Zeile beginnend von command
in ~root/.ssh/authorized_keys
.
Wissen Sie, wie ich mit Telnet den Installationsprozess von Gitolite wiederholen kann?
Einmal als root angemeldet:
- Entferne die Zeile mit dem Befehl in der
~root/.ssh/authorized_keys
Datei. - Vergewissern Sie sich, dass Ihr öffentlicher Stammschlüssel in derselben Datei registriert ist (also ohne '
command=
' davor.).
Dadurch wird ein Root-Zugriff über ss sichergestellt.
Dann wiederholen Sie die Installation, aber mit einer sudo git
ersten.
Sie müssen "git" sein, wenn Sie diese Installation durchführen.
Sie müssen auf der Clientseite zunächst einen git
privaten SSH-Schlüssel und einen git.pub
öffentlichen Schlüssel generieren .
Kopieren Sie den öffentlichen Schlüssel auf dem Server: Sie übergeben diesen öffentlichen Schlüssel an den gitolite install
Befehl.
Und wie Ryan in seiner Antwort erwähnt, benutzt
DiskStation> /volume1/homes/git/gitolite/install -ln
(um die Installation mit ~git/bin
dem /bin
Verzeichnis "Systempfad root-protected" zu verknüpfen ).