Auf den Ordner .shh im Terminal kann nicht zugegriffen werden

480
Christopher

Hey Leute, ich frage mich nur, warum dieser folgende Befehl nicht funktionieren wird:

Nicholass-MBP:~ nicholasmaddren$ sudo cd ~/.ssh 

Also führe ich diesen Befehl innerhalb des Terminals aus, um auf den .shh-Ordner zuzugreifen, in dem sich einer meiner privaten Schlüssel befindet.

Ich führe dann pwd aus, um sicherzustellen, dass ich in diesem Ordner bin:

Nicholass-MBP:~ nicholasmaddren$ pwd 

Mir bleibt jedoch dieses Ergebnis übrig, was bedeutet, dass ich mich nicht in diesem Verzeichnis befinde. Daher kann ich meinen SHH-Schlüssel nicht auswählen.

/Users/nicholasmaddren 

Könnte jemand nur ein wenig Licht auf mich werfen, würde ich das sehr schätzen.

Danke, Nick

-1

2 Antworten auf die Frage

0
cseder

Nur neugierig. Warum sollten Sie überhaupt in einen Ordner in Ihrem Home-Verzeichnis wechseln? Sudo ist für den Zugriff auf Ordner bestimmt, die nicht Ihnen gehören (Super User Do) ...

0
TOOGAM

(Keine Antwort ist spezifisch für Mac OSX. BSD / Unix funktioniert jedoch genau. Da Mac OSX / Darwin auf BSD / Unix basiert, wird davon ausgegangen, dass dies für Sie zutrifft und funktioniert und auch für andere Unixe gilt.)

Ja ... die Ergebnisse, die Sie berichten, sind genau das, was erwartet wird.

Folgendes ist passiert: Sie haben "Sudo" ausgeführt. Der Befehl "sudo" hat versucht, "cd ~ / .ssh" auszuführen, was wahrscheinlich fehlgeschlagen ist, da "cd" ein interner Befehl ist. Damit dieser Befehl funktioniert, was das, was Sie versuchen, nicht erreicht, können Sie Folgendes verwenden:

sudo -c $ "cd ~ / .ssh"
Dann wird der Befehl sudo beendet, und Sie befinden sich wieder in Ihrem aktuellen Verzeichnis und erhalten die unerwünschten Ergebnisse, die Sie erhalten.

Sie sollten Zugriff auf Ihr eigenes Home-Verzeichnis haben. In diesem Fall sollten Sie einfach das Wort "sudo" löschen, das Ihnen bei den Berechtigungen hilft. Wenn Sie versuchen, in das Verzeichnis eines anderen Benutzers zu gelangen, möchten Sie wahrscheinlich eine Sub-Shell erstellen. Verwenden Sie also:

sudo -c $ "cd ~ anotherUser / .ssh"

Dann wird Ihre Eingabeaufforderung wahrscheinlich so geändert, dass sie ein # anstelle eines $ enthält, da sudo Ihnen Superuser-Berechtigungen gegeben hat. Wenn Sie Ihre "Stammdaten" erledigt haben, geben Sie "exit" ein, um Ihre Eingabeaufforderung wieder als unprivilegiert zu markieren und ein $ anstelle eines # anzuzeigen.