Problem mit einem Remote-Server-SCP

Problem mit einem Remote-Server-SCP

Ich habe Administratorzugriff auf einen Remotecomputer mit Debian Linux. Zunächst funktionierte alles gut. Ich habe versucht, einige Variablen global zu definieren, damit alle Benutzer einen bestimmten Code ausführen können. Jetzt kann ich keine Dateien per SCP auf diesen Server übertragen. Wenn ich den SCP-Befehl ausführe, heißt es:

bash: scp: command not found
lost connection

scpist sowohl auf meinem lokalen PC als auch auf dem Server verfügbar. Ich kann mich per SSH mit dem Remotecomputer verbinden. Aber wenn ich mich verbinde, heißt es:

-bash: id: command not found
-bash: [: : integer expression expected

aber wenn ich diesen Befehl ausführe:

which id

die Ausgabe ist:

/usr/bin/id

Und ich denke, der Pfad zu den Basiscodes ist für das System definiert. Auch der Remote-Computer kennt den Pass zu scp und die Ausgabe lautet which scp:

/usr/bin/scp

Ich erinnere mich nur daran, dass ich eine Datei in erstellt /etc/profile.dund diese anschließend gelöscht habe. Ich habe auch geprüft und bin sicher, dass in ~/.bashrc, ~/.profileund keine falschen PATH-Spezifikationen vorhanden sind /etc/profile.

Weiß jemand, was mit dem Remotecomputer nicht stimmt?

Antwort1

Mit dem folgenden Befehl können Sie überprüfen, ob der Benutzer Zugriff auf scpden Befehl hat oder nicht:

echo $PATH

Beispielausgabe:

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin

Dadurch werden Befehlspfade angezeigt, auf die der Benutzer Zugriff hat.

Angenommen, Sie suchen nach scpeinem Befehl. scpDer Befehl befindet sich in /usr/bin/. Wenn die Ausgabe echo $PATHnichts enthält /usr/bin/, wird die Meldung „Befehl nicht gefunden“ angezeigt.

Um das Problem zu beheben, führen Sie Folgendes aus:

export PATH=$PATH:/usr/bin/

Für dauerhafte Änderungen fügen Sie die oben genannten.bash_profile

Antwort2

In Ihrer Datei liegt ein Fehler vor .bashrc. Verwenden Sie den folgenden Befehl, um die Standardversion wiederherzustellen, und stellen Sie dann die Verbindung erneut her.

$ cp /etc/skel/.bashrc ~/

Antwort3

Problem gelöst. Mir wurde eine falsche PATH-Definition hinzugefügt /etc/environment. Durch die Korrektur dieses Fehlers wurde das Problem gelöst.

verwandte Informationen