Когда я использую только ~ $ autossh site1 он работает отлично, но ничуть струйка пампер site1 рассматривается как DNS-имя вместо блока conf.
User@VM:~$ sudo trickle -d 10 -u 10 -- autossh site1
[sudo] password for User:
ssh: Could not resolve hostname site1: Temporary failure in name resolution
тем не менее site1 не является DNS-именем, это запись в моем файле конфигурации, например:
Host site1
HostName 89.32.12.206
Port 222
User sctfic
Compression yes
CompressionLevel 7
IdentityFile ~/.ssh/id_rsa
LocalForward *:9100 10.1.253.100:9100
LocalForward *:9101 imp:9100
Когда вы используете sudo, вы переключаетесь на учетную запись root вместо своей. Это означает, что ssh будет читать корневые .ssh/config
вместо твоего.
Если вы должны запустить trickle как root, сначала скопируйте свою собственную конфигурацию ssh и ключи в каталог root .ssh.
В ssh
страница руководства говорит, что имя хоста является обязательным в команде, но также определяет -F configfile
:
ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:] port] [-E log_file] [-e escape_char] [-F файл конфигурации] [-I pkcs11] [-i identity_file] [-L [bind_address:] port: host: hostport] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p порт] [- Q шифр | cipher-auth | mac | kex | ключ] [-R [bind_address:] порт: host: hostport] [-S ctl_path] [-W host: port] [-w local_tun [: remote_tun]] [user @]имя хоста [команда]
Рекомендую попробовать:
sudo trickle -d 10 -u 10 -- autossh -F /path/to/config-file site1