Sample Header Ad - 728x90

Why doesn't the process substitution <() work with ssh -F

14 votes
2 answers
2800 views
I have some vagrant virtual machines. To log into them I issue the vagrant ssh command. I want to log into them using regular ssh command. The vagrant ssh-config outputs the suitable config file $ 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 When outputing this config in a file and using with ssh -F, everything works fine: $ vagrant ssh-config > /tmp/config $ ssh -F /tmp/config default => logged successfully When using process substitution operator <(cmd) to prevent the creation of the temporary config file, it fails: $ ssh -F <(vagrant ssh-config) default Can't open user config file /proc/self/fd/11: No such file or directory Same error happens when using <(cat /tmp/config) $ ssh -F <(cat /tmp/config) default Can't open user config file /proc/self/fd/11: No such file or directory I am using zsh and I observe the same behavior with bash. What am I doing wrong here?
Asked by cbliard (402 rep)
Nov 20, 2013, 10:50 AM
Last activity: Sep 9, 2024, 06:07 AM