Выкинуть ssh порт наружу на какой-нибудь сервер, а затем к этому серверу коннектиться. Ну или форвардить непосредственно на компьютер, с которого предполагается получить доступ к компьютеру, на котором запущен sshd.
>Выкинуть ssh порт наружу на какой-нибудь сервер, а затем к этому серверу коннектиться. Ну или форвардить непосредственно на компьютер, с которого предполагается получить доступ к компьютеру, на котором запущен sshd.
нет. на компе, на который нужно попасть (который за натом) делаешь ssh user@remote_host -R 22222:127.0.0.1:22, потому с удалённого компа лезешь на 127.0.0.1:22222 как на хост того, кто за натом.
Примем условные обозначения. есть твой хост в итернете с реальным айпишником, тот, за которым сидишь ты или кто-то ещё, тот, который хочет получить шелл на другом компе, назовём его remote_host. Предположим, что remote_host, это либо тот самый реальный айпишник, либо его доменное имя. на нём есть юзер user.
Есть комп, который находится в локалке, спрятанный за натом. Назовём его local_host. У этого компа есть только внутренний айпишник и интернет по впн-у. За этим компо сидит чел, который хочет, чтобы чел с remote_host залез на local_host по ssh и что-то сделал. На local_host есть юзер user2.
Чел на local_host делает так:
ssh user@remote_host -R 22222:127.0.0.1:22
Чел на remote_host делает так:
ssh user2@127.0.0.1 -p 22222 - и получает шелл user2@local_host
// Комментарий, который ни на что не влияет. если с первого раза не понял - проигнорируй, позже займёшься.
// В параметре 22222:127.0.0.1:22 узнаваемый айпишник - это адрес local_host, но менять его не надо. Технически, туда можно подставить айпишник любой тачки из локалки (и любой порт) и перенаправить всё это дело туда, но это тебе не надо.