如何添加或更改ssh密钥的默认位置?

问题描述

我在OSX上并尝试连接到AWS上的ec2实例。使用完整路径运行密钥文件名是可行的,否则会出现错误“找不到文件”。

 ssh -i "my_key.pem" ubuntu@XXX.XX.XX.XX

警告:无法访问身份文件my_key.pem:没有此类文件或目录。

ssh -i "~/.ssh/my_key.pem" ubuntu@XXX.XX.XX.XX

编辑:

更好的描述:只要密钥在〜/ .ssh /目录中,ssh就应该能够仅通过文件名找到它,而不是给出整个路径。我试图将“〜/ .ssh /”目录添加到ssh路径中,以查找密钥。不适用于特定的主机或密钥。

完整路径的

ssh可以使用。

我已经能够运行'ssh -i“ my_key.pem” ubuntu@XXX.XX.XX.XX',而无需给出密钥的完整路径。 我已经探索了在〜/ .ssh / config文件中添加路径。

解决方法

我已经探索了在~/.ssh/config文件中添加路径。

这应该是解决方案,但是在这种情况下,SSH URL变为:

ssh <HostEntry>

使用~/.ssh/config包括:

Host <HostEntry>
   Hostname xxxx.xx.xx
   User ubuntu
   IdentityFile ~/.ssh/my_key.pem

我要寻找的是将路径更改为默认情况下ssh在其中查找密钥的目录,因此不需要仅将诸如-i my_key.pem之类的密钥名称传递给整个路径。
然后ssh自动在~/.ssh/目录中查找它

简单:

HOME=/my/folder1 ssh ubuntu@XXX.XX.XX.XX
# or
HOME=/my/folder2 ssh ubuntu@XXX.XX.XX.XX

ssh将根据/my/folder1/.ssh/id_rsa路径值寻找/my/folder2/.ssh/id_rsaHOME,仅为该ssh命令设置。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...