autossh -M 10984 -v -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -R 6889:localhost:22 user@rpi.local
以上命令有效。下面的那个没有。
autossh -M 10984 -E /home/pi/ssh.log -v -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -R 6889:localhost:22 user@rpi.local
它说,
/usr/lib/autossh/autossh: invalid option -- 'E'`
如何在将日志文件传递给autossh时将其指定为SSH选项?
答案 0 :(得分:0)
这是autossh
的限制。 autossh源代码包含程序接受的命令行开关列表。该列表显然应该包含所有ssh选项,但它不包含" E":
#define OPTION_STRING "M:V1246ab:c:e:fgi:kl:m:no:p:qstvw:xyACD:F:I:MKL:NO:PR:S:TVXY"
...
/*
* We accept all ssh args, and quietly pass them on
* to ssh when we call it.
*/
while ((ch = getopt(argc, argv, OPTION_STRING)) != -1) {
switch(ch) {
case 'M':
...
目前似乎有一些解决方法:
运行autossh,标准错误指向所需文件:
autossh -M 10984 -v -o ... user@rpi.local 2>>/some/log/file
从autossh启动的SSH实例应继承重定向。