Я хочу использовать ExitOnForwardFailure
ssh, но похоже, что он не работает:
$ ssh -f -L 8080:localhost:22 -o ExitOnForwardFailure=yes root@server.com "sleep 60" ; sleep 3; ps xu|grep ssh
bind: Address already in use
halfgaar 780086 0.0 0.0 51432 728 ? Ss 12:32 0:00 ssh -f -L 8080:localhost:22 -o ExitOnForwardFailure=yes root@server.com sleep 60
Также, если я не буду форкнуть (-f
), Я просто получаю оболочку для сервера:
halfgaar@<localmachine>: ~
$ ssh -L 8080:localhost:22 -o ExitOnForwardFailure=yes root@server.com
bind: Address already in use
Linux <remoteserver> 4.9.0-8-686-pae #1 SMP Debian 4.9.144-3 (2019-02-02) i686
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri May 31 12:39:27 2019 from 84.22.107.110
root@<remoteserver>: ~
#
Он действительно работает правильно, когда я пытаюсь сделать обеспечить регресс туннель (-R
).
Ubuntu 18.04, SSH 7.6p1-4ubuntu0.3.
Похоже, он использует ipv4 для одной части и ipv6 для другой. Когда я использую -4
, Я правильно получаю:
bind: Address already in use
channel_setup_fwd_listener_tcpip: cannot listen to port: 8080
Could not request local forwarding.
Я также подал отчет об ошибке, потому что это действительно похоже на ошибку.