LINUX.ORG.RU
ФорумAdmin

Доступ по ssh к linux device за NAT

 ,


0

2

Пробовал таким образом организовать 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 относительно запуска нескольких команд перед значением ключа?

Ответ на: комментарий от Pinkbyte

на сервере и на клиенте firewall не настроен:

# iptables -L -n -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination      

просто клиент за NAT с ip из локалки 192.168.1.0

zorinquen
() автор топика
Последнее исправление: zorinquen (всего исправлений: 1)

Имя пользователя точно правильное? лучше всегда указывать имя пользователя явно.

Khnazile ★★★★★
()
Ответ на: комментарий от Khnazile

имя юзера с обоих сторон root, я могу подключаться с девайса за NAT к серверу через:

# ssh -R2222:localhost:22 ip_remote_сервера

но с сервера к девайсу не могу:

# ssh localhost -p2222
root@localhost: Permission denied (publickey).

или

# ssh root@localhost -p2222
root@localhost: Permission denied (publickey).
zorinquen
() автор топика
Ответ на: комментарий от Pinkbyte

Когда я пытаюсь с сервера подключиться к клиенту:

# ssh -v localhost -p2222
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:QPOPmuy5ulp9NDZN78eqD510jV7np9TIb/rM0IO6MKQ
debug1: Host '[localhost]:2222' is known and matches the ECDSA host key.
debug1: Found key in /root/.ssh/known_hosts:1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: /root/.ssh/id_rsa RSA SHA256:J9MR1BxU2XyleqGpPGo2tT6CVbfK9vXbb20k1FrwlGY
debug1: Will attempt key: /root/.ssh/id_dsa 
debug1: Will attempt key: /root/.ssh/id_ecdsa 
debug1: Will attempt key: /root/.ssh/id_ecdsa_sk 
debug1: Will attempt key: /root/.ssh/id_ed25519 
debug1: Will attempt key: /root/.ssh/id_ed25519_sk 
debug1: Will attempt key: /root/.ssh/id_xmss 
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,sk-ssh-ed25519@openssh.com,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /root/.ssh/id_rsa RSA SHA256:J9MR1BxU2XyleqGpPGo2tT6CVbfK9vXbb20k1FrwlGY
debug1: Authentications that can continue: publickey
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Trying private key: /root/.ssh/id_ecdsa
debug1: Trying private key: /root/.ssh/id_ecdsa_sk
debug1: Trying private key: /root/.ssh/id_ed25519
debug1: Trying private key: /root/.ssh/id_ed25519_sk
debug1: Trying private key: /root/.ssh/id_xmss
debug1: No more authentication methods to try.
root@localhost: Permission denied (publickey).
zorinquen
() автор топика
Ответ на: комментарий от zorinquen

после того как ручками прибил старые процессы от подключений ssh получилось подключиться с сервера к клиенту

# ssh localhost -p2222

Всем спасибки за помощь! а есть ли какой способ автоматически старые процессы ssh прибивать или может какие-то параметры указать в authorized_keys перед значением ключа?

zorinquen
() автор топика
Ответ на: комментарий от zorinquen

Ну сиськощуп можешь по времени работы прибивать, например, написать скрипт, который киляет сиськощупы, работающие дольше часа.

Sinep
()
Ответ на: комментарий от Sinep

А что-то типа такого не взлетит?

$ cat  $HOME/.ssh/authorized_keys
command="echo 'Connect successful!'; countdown 3600",no-agent-forwarding,no-X11-forwarding" ssh-rsa AAAAB3N
zorinquen
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.