在我的~/.ssh/config
档案中:
Match originalhost my_server final exec "my_executable vault ssh cert"
Host my_server
HostName something.my_server.com
User first.last
AddKeysToAgent yes
ForwardAgent yes
ForwardX11 yes
每当我运行时ssh my_server
,都会出现这些错误:
$ ssh my_server
Unsupported Match attribute final
/home/gabriel/.ssh/config line 1: Bad Match condition
有什么问题?我在 Ubuntu 18.04 上。ssh -V
显示:
$ ssh -V
OpenSSH_7.6p1 Ubuntu-4ubuntu0.7, OpenSSL 1.0.2n 7 Dec 2017
答案1
事实证明问题在于这个 openssh(7.6p1)版本太旧了,并且不支持“匹配属性final
”。
因此,解决方案就是升级您的 openssh 版本!我升级到了 8.9p1,现在运行正常。
前往此处下载您想要的最新 .tar.gz 文件:https://mirrors.sonic.net/pub/OpenBSD/OpenSSH/portable/
我选择这个openssh-8.9p1.tar.gz
是因为该版本的 openssh 在另一台计算机上可以很好地处理这个~/.ssh/config
文件。
提取 .tar.gz 文件。(注意:这对我来说花了很长时间!——超过 5 分钟)
然后,构建并安装它:
cd openssh-8.9p1 # change the folder name for your case
./configure
make
sudo make install
# refresh your shell by re-sourcing
. ~/.profile
现在ssh -V
显示这个:
$ ssh -V
OpenSSH_8.9p1, OpenSSL 1.1.1 11 Sep 2018
...并且ssh my_server
运行良好!
固定的。