Еще раз о задаче, чтобы с терминами не попутаться:
Имеем:
УДАЛЕННАЯ_МАШИНА под ос Linux за фаерволом, на которую надо иметь возможность заходить по ssh из хотябы одной точки интернета
УДАЛЕННАЯ_МАШИНА может во внешний мир выбраться по TCP по порту 5190
МАШИНА_В_ИНТЕРНЕТЕ - машина с которой нам надо заходить
Как это сделать при помощи OpenSSH форвардинг (курсивом помечено, что является лишним если вам не надо извращаться с портом 5190)
1. Заводим на обоих компьютерах по пользователю, например заведем с именами sshforward на обоих компьютерах
2. На МАШИНА_В_ИНТЕРНЕТЕ запустите дополнительный sshd на порту 5190, сделать это можно командой sshd -p 5190, не забудьте эту команду внести в стартовые скрипты
3. Заходим под этими пользователями на обоих компьютерах
4. Теперь нам требуется наличие папки ~/.ssh , чтобы не мучаться просто наберите ssh localhost и нажмите ctrl+c , система сама ее создаст
5. Можно конечно уже воспользоваться форвардингом, но врядли вам понравится каждый раз вводить пароль, по этому сначала обменяемся ключами, чтобы пользователь sshforward@УДАЛЕННАЯ_МАШИНА заходил без пароля на sshforward@МАШИНА_В_ИНТЕРНЕТЕ
для этого на УДАЛЕННАЯ_МАШИНА выполняем команду
ssh-keygen -t dsa
со всем соглашаемся, пассфразу оставляем пустую
после этого у вас появится 2 файла ~/.ssh/id_dsa и ~/.ssh/id_dsa.pub
файл ~/.ssh/id_dsa.pub надо скопировать на МАШИНА_В_ИНТЕРНЕТЕ с именем ~/.ssh/authorized_keys, если ~/.ssh/authorized_keys уже существует и он нужен, то добавте данный файл в конце ~/.ssh/authorized_keys
все, теперь команда выполненная на УДАЛЕННАЯ_МАШИНА
ssh -p 5190 sshforward@МАШИНА_В_ИНТЕРНЕТЕ
должна вас пустить без пароля
6. Создаем форвардинг, выполняем на УДАЛЕННАЯ_МАШИНА
ssh -p 5190 -R 10022:127.0.0.1:22 sshforward@МАШИНА_В_ИНТЕРНЕТЕ
7. Почти все, теперь набрав на МАШИНА_В_ИНТЕРНЕТЕ
ssh -p 10022 root@localhost
вы зайдете пользователем root на УДАЛЕННАЯ_МАШИНА
8. И последний шаг, неплохо сделать, чтобы ssh форвардинг на УДАЛЕННАЯ_МАШИНА стартовал автоматически, можно конечно прописать в стартовых скриптах, но кто вам сказал, что в момент загрузки всегда будет интернет ? Для этого лучше воспользоваться /etc/inittab
добавте туда подобную строку
SF1:2345:respawn:su - sshforward -c "exec /usr/bin/ssh -p 5190 -R 10022:127.0.0.1:22 sshforward@МАШИНА_В_ИНТЕРНЕТЕ" >> /var/log/sshconnect.log
и выполните команду
init q