小编cbl*_*ard的帖子

为什么进程替换 <() 不适用于 ssh -F

我有一些流浪的虚拟机。要登录它们,我发出vagrant ssh命令。我想使用常规ssh命令登录它们。的vagrant ssh-config输出合适的配置文件

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2201
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/cbliard/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL
Run Code Online (Sandbox Code Playgroud)

在文件中输出此配置并使用 with 时ssh -F,一切正常:

$ vagrant ssh-config > /tmp/config
$ ssh -F /tmp/config default
=> logged successfully
Run Code Online (Sandbox Code Playgroud)

使用进程替换操作符<(cmd)阻止创建临时配置文件时,失败:

$ ssh -F <(vagrant ssh-config) default
Can't open user config file /proc/self/fd/11: No such file or directory
Run Code Online (Sandbox Code Playgroud)

使用时发生同样的错误 <(cat /tmp/config)

$ ssh -F <(cat /tmp/config) default …
Run Code Online (Sandbox Code Playgroud)

bash ssh zsh file-descriptors process-substitution

12
推荐指数
1
解决办法
2113
查看次数

标签 统计

bash ×1

file-descriptors ×1

process-substitution ×1

ssh ×1

zsh ×1