Frage Mehrere Eingabeaufforderungen mit einer SSH-Verbindung?


Ich muss viel tun vim auf einem Remote-Server, in den ich SSH brauche. Ich finde, dass es am besten ist, wenn ich mehrere Dokumente in mehreren Fenstern auf meinem Desktop ansehen kann, um zwei oder drei SSH-Sitzungen für den Remote-Server zu öffnen. Dies wird jedoch etwas mühsam, da ich das un / pw mehrmals neu eingeben muss, und ich muss sicherstellen, dass jedes Fenster aktiv genug bleibt, um automatisches Abmelden zu verhindern.

Gibt es einen Weg zu SSH? Einmal und dann mit verschiedenen Terminalfenstern darauf zurück? (Ich verwende überwiegend OSX und Ubuntu).


4
2017-12-10 19:45


Ursprung




Antworten:


Screen und tmux bieten Ihnen die Antworten, die Sie suchen, aber um Ihre Frage etwas zu erweitern, möchte ich vorschlagen, dass Sie sich mit der Frage der SSH-Schlüssel-Authentifizierung beschäftigen, so dass Sie nicht jedes Mal den Benutzernamen und das Passwort benötigen Sie SSH in Ihren Remote-Server :-)


5
2017-12-11 00:03



Guter Punkt. Es ist in der Regel auch sicherer - siehe superuser.com/questions/303358/ ... - Randy Orrison
(Ich bin tatsächlich zu Schlüssel-basierten Auth bewegt) - cwallenpoole


Eine andere mögliche Alternative ist die Verwendung von sshfs.

Mit sshfs können Sie jedes Verzeichnis, das auf einem Remote-Computer über ssh zugänglich ist, per Fernzugriff als Volume auf Ihrem Computer bereitstellen. Funktioniert super. Der Vorteil hierbei ist, dass Sie mit allen Dateien auf dem Remote-Computer so arbeiten können, als wären sie lokal. Insgesamt ist es einfacher zu bedienen als der Bildschirm - Sie melden sich einmal an, und alles, was Sie sonst noch mit den Remote-Dateien tun, ist genauso, als würden Sie mit lokalen Dateien arbeiten.

Ihre andere Alternative besteht darin, vims Fähigkeit zu nutzen, entfernte Dateien über SSH zu bearbeiten. Siehe hier: http://vim.wikia.com/wiki/Editing_remote_files_via_scp_in_vim


3
2017-12-11 00:27





Nicht genau das, wonach du gefragt hast, aber die GNU Bildschirm Dienstprogramm können Sie mehrere virtuelle Terminals in einem einzigen Fenster haben. Es schützt auch vor Verbindungsunterbrechungen, da Sie die Verbindung zu einer getrennten Bildschirmsitzung wiederherstellen können.


2
2017-12-10 19:57



Es könnte nur funktionieren. Ich muss es versuchen und sehen. - cwallenpoole


tmux ist auch eine Option (ähnlich wie GNU screen). Es ist Code-Basis ist kleiner und sauberer, es unterstützt Side-by-Side-Panels ohne extra herumzuspielen, und meiner Meinung nach ist es viel angenehmer zu bedienen. Der Bildschirm ist jedoch viel häufiger, daher lohnt es sich trotzdem, ihn zu lernen.

Benutzen tmux, installieren Sie es einfach auf der Maschine, in die Sie SSH möchten. Dann SSH in, tmux ausführen, und Sie können jetzt mehrere Terminals oder Konsolen-Apps auf demselben Bildschirm oder in verschiedenen "Fenstern" (analog zu Ubuntu-Arbeitsbereichen) auf demselben Terminal ausführen. Versuchen man tmux für Kontrollen.


2
2017-12-10 23:35





Und eine weitere Option ist vim eingebaut netrw Plugin zum Öffnen von Remote-Dateien. Funktioniert hervorragend mit dem Projekt-Plugin.

Aber um mit etwas über ssh arbeiten zu können, muss ich als erstes meinen ssh key registrieren: ssh-copy-id user@host um den Schlüssel beim Host zu registrieren und zu überprüfen ssh-agent läuft und fügt den Schlüssel hinzu, mit dem er verwendet wird ssh-add.

Ich mache oft Dinge wie:

diffsplit scp://user@$REMOTE/path/to/dir/%

welche die Datei aufteilt $REMOTE Gastgeber in ~user/path/to/dir mit demselben relativen Namen wie die aktuell geöffnete Datei. Ich liebe Vim, obwohl ich mir sicher bin, dass es auch in Emacs möglich ist.


0
2017-12-12 10:45





Sie können mehrere SSH-Sitzungen über eine einzelne SSH-Verbindung ausführen, indem Sie die erste Anmeldung (die die Verbindung herstellt) als Steuermaster und nachfolgende Aufrufe von SSH den Steuermaster kontaktieren und die Sitzung über die bereits authentifizierte Verbindung des Masters weiterleiten lassen.

Tun Sie dies mit dem folgenden in Ihrer Konfigurationsdatei:

Host somehost
    # ~/tmp/sc must exist beforehand and should have mode 0700.
    ControlPath ~/tmp/sc/%h.%p
    ControlMaster auto

Siehe die ssh_config(5) Manpage für ein paar mehr Details genau wie das funktioniert.


0
2018-04-22 14:03





Nur weil es noch niemand erwähnt hat ... Wenn deine Verbindung schnell genug ist, könntest du X per SSH weiterleiten - benutze die -X Argument zu ssh (1).

Ich benutze das täglich, benutze MobaXterm (oder in der Vergangenheit Xming) auf einem Windows-PC, um auf einen lokalen Linux-Entwicklungscomputer zuzugreifen - allerdings hauptsächlich für einfache xterm Fenster.


0
2018-04-22 14:28