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.
testwenn Sie echo test > /dev/tty?
ssh myserver cat remote-filealleine laufe , funktioniert es wie erwartet, echo test > /dev/ttyfunktioniert auch. Allerdings läuft mit set -xSpucken 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-filealleine rennst? Was sehen Sie, wenn Sie das danach ausführenset -x?