Ich arbeite derzeit am ssh-Protokoll in Python und habe viel Zeit verschwendet, um den openssh-Server zu starten. Danach konnte ich es starten und meine Python-Skripte normal ausführen. Es gab auch keine Berechtigungsprobleme.
Aber das Problem ist, wenn ich es tue which ssh
, gibt es den Speicherort des openssh-Clients (usr / bin / ssh). Aber wenn ich es versuche which sshd
, gibt es nichts zurück, aber der Server funktioniert bis jetzt einwandfrei. Warum passiert das und wie kann ich das beheben?
sudo which sshd
sollte etwas drucken. Nichts zu reparieren.Antworten:
ssh
ist normalerweise dafür gedacht, von irgendjemandem ausgeführt zu werden,sshd
ist nicht dafür gedacht, von regulären Benutzern aufgerufen zu werden; deshalb ist der erstere (zB) in/usr/bin
und der letztere in/usr/sbin
.Nun, diese Pfade können variieren. Der Punkt ist das Verzeichnis der
ssh
ausführbaren Datei in regelmäßigem Benutzer istPATH
, aber das Verzeichnis dersshd
ausführbaren Datei ist in der Regel nicht (es sollte in seineroot
‚sPATH
obwohl).Sie können Ihren (regulären) Benutzer
PATH
selbst ändern , aber das Hinzufügen/usr/sbin
wird nicht viel nützen, da Sie entweder keine Dateien von dort ausführen können oder Sie formal in der Lage sind, sie auszuführen, aber Sie haben die Erlaubnis Ausgaben später.Daran ist nichts besonderes auszusetzen. Sie sollten das System nicht auf diese Weise beschädigen können. Dies wird jedoch Ihre Befehlszeilen-Copletion (Tabulatorerweiterung) mit ausführbaren Dateien verunreinigen, die Sie niemals als regulärer Benutzer ausführen müssen.
Diese ausführbaren Dateien benötigen
root
aus Gründen. Aussshd
den Gründen sind:which sshd
Gibt nichts für Sie zurück,sudo which sshd
sollte etwas zurückgeben. Das scheint normal zu sein. Es gibt nichts zu beheben.quelle
root
PATH
ssh-Dienst (ein Client für SSH-Server) enthalten ist, auf den jeder zugreifen kann.root
, nicht für reguläre Benutzer.