Unser Team hat beschlossen, allen unseren Gastgebern ein Willkommensbanner hinzuzufügen. Ein Teammitglied hat anstelle der Nachricht in /etc/motd
die Nachricht mit echo
in hinzugefügt ~/.cshrc
.
Dies bricht scp
zwischen den Hosts. Kann jemand erklären, wie das bricht scp
? Wird auch dann cshrc
geladen, wenn Sie dies tun scp
? Und wie werden einige Echo-Nachrichten darin es brechen?
Mir ist die interne Funktionsweise von nicht bekannt scp
.
Die Nachricht, die wir hinzugefügt haben ~/.cshrc
:
echo "##############################################################################"
echo " Alert! Aler! Alert! Alert! Alert! Alert!"
echo "This is a restricted box, any actions performed here will be reported to xxx@yyy.com"
echo "##############################################################################"
echo
Befehle .cshrc
: auf dem lokalen Computer scp
und / oder auf dem Remote-Server? Bitte beschreiben Sie "Brechen": Welcher genaue scp
Befehl wird ausgeführt und welche Ausgabe- / Fehlermeldung wird erzeugt?
[aime@abc ~]$ scp 20160830210005defaults.conf aime@xyz:/scratch/aime aime@xyz's password: ########################################################################################################
.cshrc
Datei wird immer gelesen, auch in nicht interaktiven Shells, wie sie von scp gestartet wurden. Alles, was eine Ausgabe erzeugen kann, wie z. B.echo
oderstty
, muss sich in einerif ($?prompt )
Anweisung befinden. Es gibt andere, sicherere Möglichkeiten, Bannermeldungen anzuzeigen (z. B. dieBanner
Anweisung in der SSH-Serverkonfiguration), aber ein Administrator muss dies einrichten.