Если я вас правильно понимаю, я считаю, что у меня есть сценарий, который делает то, что вы хотите. Смотрите ссылку ниже:
SSH Bind Address Script
Чтобы это работало, вам нужно отключить password authorization
и иметь возможность подключаться с помощью public key exchange
а также включить TCP Forwarding
(на стороне сервера, т.е. на компьютере вашего друга).
Или же...
Вы можете сделать быстрое, просто сделайте следующий 1 лайнер (вам все еще понадобится TCP Forwarding : on
). Сценарий - всего лишь обман, так как я не хочу продолжать вводить все это каждый раз, когда пытаюсь подключиться к нескольким серверам или просто привязать к нескольким портам на одном компьютере.
ssh -p $port -N -L $local_port:127.0.0.1:$remote_port $user@$ip
$port
- это порт ssh, который прослушивает удаленный компьютер.
$local_port
- это локальный порт вашего компьютера, к которому вы собираетесь подключиться.
$remote_port
- это удаленный порт вашего компьютера друзей, с которым вы будете связывать свой локальный порт.
$user
- это имя пользователя для подключения по ssh.
$ip
- это IP-адрес, к которому ssh будет подключаться.
После того, как вы подключите все, что вы положили за $local_port
будет туннель (через ssh) к удаленному компьютеру ваших друзей на то, что вы положили за $remote_port
.
Так что, если вы хотите просмотреть экран вашего друга, вы можете указать вашему зрителю VNC 127.0.0.1:$local_port
($ local_port - это то, что вы положили за $local_port
выше).
Это предполагает, что у вашего друга, конечно, в первую очередь работает VNC-сервер.