当我仅使用~$ autossh site1它工作得很好,但涓涓细流参数站点1被视为 DNS 名称而不是配置块。
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
尽管如此站点1不是 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
答案1
当您使用 sudo 时,您将切换到 root 的帐户而不是您自己的帐户。这意味着 ssh 将读取 root 的帐户.ssh/config
而不是您的帐户。
如果您必须以 root 身份运行 trickle,那么请先将您自己的 ssh 配置和密钥复制到 root 的 .ssh 目录中。
答案2
手册ssh
页说主机名在命令中是必需的,但也定义了-F configfile
:
ssh [-1246AaCfgKkMNnqsTtVvXxYy] [-b 绑定地址] [-c 密码规范] [-D [绑定地址:]端口] [-E 日志文件] [-e 转义字符][-F 配置文件] [-I pkcs11] [-i 身份文件] [-L [绑定地址:]端口:主机:主机端口] [-l 登录名] [-m mac_spec] [-O ctl_cmd] [-o 选项] [-p 端口] [-Q 密码 | 密码身份验证 | mac | kex | 密钥] [-R [绑定地址:]端口:主机:主机端口] [-S ctl_path] [-W 主机:端口] [-w local_tun[:remote_tun]] [用户@]主机名[命令]
我建议你尝试一下:
sudo trickle -d 10 -u 10 -- autossh -F /path/to/config-file site1