Пробовал таким образом организовать ssh туннель: публичные ключи присутствуют на обоих сторонах в autorized_keys, на клиентском устройстве (которое за NAT c ip 192.168.1.4) выполнил:
# ssh -R2222:localhost:22 ip_remote_сервера
на удаленном сервере выполнил:
# ssh localhost -p2222
root@localhost: Permission denied (publickey).
При этом на сервере:
# ls -la .ssh/
total 24
drwx------ 2 root root 4096 Oct 14 16:36 .
drwx------ 7 root root 4096 Oct 14 18:41 ..
-rw-r----- 1 root root 2800 Oct 14 16:35 authorized_keys
-rw------- 1 root root 3389 Oct 6 13:30 id_rsa
-rw-r--r-- 1 root root 749 Oct 6 13:30 id_rsa.pub
-rw-r--r-- 1 root root 444 Oct 14 18:05 known_hosts
на клиенте:
node-1:~/.ssh # ls -l
-rw-r----- 1 root root 2800 Oct 14 16:35 authorized_keys
-rw------- 1 root root 3369 Oct 14 14:34 id_rsa
-rw-r--r-- 1 root root 737 Oct 14 14:34 id_rsa.pub
-rw-r--r-- 1 root root 173 Oct 14 14:53 known_hosts
Порт 2222 открыт.
Когда еще добавил на стороне клиента в authorized_keys перед сами публичным ключом команды
command="echo 'Connect successful!'; countdown 3600,no-agent-forwarding,no-X11-forwarding" ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB...
выдало:
# ssh -R2222:localhost:22 ip_remote_сервера
Warning: remote port forwarding failed for listen port 2222
Connect successful!
bash: countdown: command not found
Connection to ip_remote_сервера closed.
Аналогично затем и по отдельности
bash: no-agent-forwarding,no-X11-forwarding: command not found
Какой-то неверный синтаксис в самом authorized_keys относительно запуска нескольких команд перед значением ключа?