Ich möchte die Ausgabe von ssh an einen anderen Befehl weiterleiten. Zum Beispiel:
ssh myserver cat remote-file | diff local-file -
Das Problem ist, dass myserver nach einem Passwort fragt, ich es aber nicht eingeben kann. (Aus irgendeinem Grund ist die Authentifizierung mit öffentlichem Schlüssel auf dem Server nicht verfügbar. Ich kann dies nicht ändern.) Ich erhalte die Eingabeaufforderung "Kennwort:", aber die von mir eingegebenen Schlüssel werden wiedergegeben und nicht an ssh übergeben. Wie kann ich ssh dazu bringen, das Passwort zu bekommen?
Hinweis Ich versuche nicht, das Passwort in ssh weiterzuleiten . Ich versuche, die Ausgabe von ssh weiterzuleiten und das Passwort wie gewohnt einzugeben.
Falls es wichtig ist, verwende ich Bash unter OS X 10.7 (Lion) und dem Standardterminal. Ich habe keine Aliase eingerichtet, die dies verursachen könnten. Ich habe das gleiche Problem bei verschiedenen (Linux-) Systemen gesehen, daher glaube ich, dass es nicht spezifisch für mein Setup ist.
test
wenn Sie echo test > /dev/tty
?
ssh myserver cat remote-file
alleine laufe , funktioniert es wie erwartet, echo test > /dev/tty
funktioniert auch. Allerdings läuft mit set -x
Spucken eine Menge Müll aus. Es stellte sich heraus, dass ich meine Eingabeaufforderung angepasst hatte, um den Fenstertitel auf den aktuell ausgeführten Befehl zu setzen. Das hat eine Unterschale für jeden Befehl erstellt und das irgendwie durcheinander gebracht. Als ich die beleidigenden Zeilen auskommentierte, funktionierte es.
ssh myserver cat remote-file
alleine rennst? Was sehen Sie, wenn Sie das danach ausführenset -x
?