Frage

  1. Ich habe einen Alias ​​für einen Befehl erstellt, der eine Datei aus einem meiner Verzeichnisse verwendet.

  2. Dieser Alias ​​wird in .bash_profile im folgenden Format geladen:alias NAME_OF_COMMAND='ssh -i NAME_OF_KEYFILE USER@IP_ADDRESS'

  3. Ich möchte den Alias ​​von überall auf meinem System verwenden können, außer von der KEYFILE (auch bekannt alsNAME_OF_KEYFILE) ist nur in einem Verzeichnis vorhanden, das nicht Teil meines $PATH ist (es ist ein Unterverzeichnis von Dropbox).

  4. Ich habe versucht, dieses Verzeichnis mit dem folgenden Befehl zum Pfad hinzuzufügen:export PATH=$PATH:/NAME/OF/DIRECTORY

Ich konnte erkennen, dass dies nominell erfolgreich war, denn wenn ich „$PATH“ eingebe, wird das neue Verzeichnis am Ende der Variablen „$PATH“ angezeigt.

  1. Wenn ich jedoch versuche, meinen SSH-Befehl auszuführen, erhalte ich die Fehlermeldung:Warnung:Auf die Identitätsdatei KEYFILE kann nicht zugegriffen werden:Keine solche Datei oder Verzeichnis.
War es hilfreich?

Lösung

Der Pfad wird im Allgemeinen für die Suche nach ausführbaren Dateien verwendet, nicht für Datendateien im Allgemeinen.

Am besten ändern Sie wahrscheinlich den Alias, sodass die Schlüsseldatei ein vollständig qualifizierter Pfadname ist, etwa so:

alias myssh='ssh -i $HOME/ssh/mykeyfile.ppk pax@example.com'

Bei einer vollständig qualifizierten Schlüsseldatei spielt es keine Rolle, wo Sie sich gerade im Dateisystem befinden (vorausgesetzt). ssh selbst ist natürlich irgendwo auf deinem Weg, aber das ist eine andere Sache).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top