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
scp
ist 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.d
und diese anschließend gelöscht habe. Ich habe auch geprüft und bin sicher, dass in ~/.bashrc
, ~/.profile
und 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 scp
den 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 scp
einem Befehl. scp
Der Befehl befindet sich in /usr/bin/
. Wenn die Ausgabe echo $PATH
nichts 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.