0
  1. 我为使用我的一个目录中的文件的命令创建了一个别名。

  2. 此别名以以下格式加载到 .bash_profile 中: alias NAME_OF_COMMAND='ssh -i NAME_OF_KEYFILE USER@IP_ADDRESS'

  3. 我希望能够在系统上的任何位置使用别名,但 KEYFILE(又名 NAME_OF_KEYFILE)仅存在于一个不属于我的 $PATH 的目录中(它是 dropbox 的子目录)。

  4. 我尝试使用以下命令将该目录添加到路径中:export PATH=$PATH:/NAME/OF/DIRECTORY

我可以看到这名义上是成功的,因为当我输入 $PATH 时,新目录显示在 $PATH 变量的末尾。

  1. 但是,当我尝试执行我的 ssh 命令时,我收到错误:警告:无法访问身份文件 KEYFILE:没有这样的文件或目录。
4

1 回答 1

1

该路径通常用于搜索可执行文件,而不是一般的数据文件。

您最好的选择可能是更改别名,以便密钥文件是完全限定的路径名​​,例如:

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

使用完全限定的密钥文件,您当前在文件系统中的位置无关紧要(ssh当然,假设它在您的路径上的某个地方,但那是另一回事)。

于 2012-02-27T04:03:09.400 回答