我想用它$HOME
来替换/Users/Me
我的 ssh 配置文件
Host MyHost
HostName 192.168.1.1
IdentitiesOnly yes
User me
IdentityFile "/Users/Me/.ssh/id_rsa"
Run Code Online (Sandbox Code Playgroud)
但我得到了no such identity: $HOME/.ssh/id_rsa: No such file or directory
tel*_*coM 10
至少在我的 Debian 10 系统上,ssh_config(5)
手册页显示:
IdentityFile的参数可以使用波形符语法来引用用户的主目录或 TOKENS 部分中描述的令牌。
因此,$HOME
您可以IdentityFile
将该行写为:
IdentityFile "~/.ssh/id_rsa"
Run Code Online (Sandbox Code Playgroud)
或作为:
IdentityFile "%d/.ssh/id_rsa"
Run Code Online (Sandbox Code Playgroud)
环境变量语法 ( ${HOME}
) 支持仅在IdentityAgent
配置项中提及,而不是在IdentityFile
. 根据OpenSSH 发行说明, OpenSSH 8.4 版本(2020-09-27 发布)中添加了环境变量语法支持CertificateFile
,ControlPath
以及配置关键字,而 Debian 10 只有 7.9 版本(向后移植了最新的安全修复程序)。IdentityFile
因此,在撰写本文时,除非您使用的是非常新的 Linux 发行版,否则您的 OpenSSH 版本可能太旧,无法支持使用${HOME}
SSH 配置文件中的语法。
归档时间: |
|
查看次数: |
13096 次 |
最近记录: |