Я могу установить dropbear в initramfs и успешно подключиться к этому серверу ssh (IP: my_initramfs_ip
) на этапе загрузки, как описано здесь.
Теперь я хочу выполнить переадресацию портов в качестве клиента на том же этапе. Для этой цели я установил ssh-клиент dropbear (dbclient
) в initramfs и, чтобы проверить, работает ли он правильно, я попытался подключиться к одному из моих серверов в initramfs:
initramfs# dbclient user@myserver
user@myserver password: ...
Который работает отлично, и я могу войти в myserver
. Теперь я хочу выполнить переадресацию портов, как обычно, когда загружается реальная система:
initramfs# dbclient -R 1234:localhost:22 myserver_ip
Но переадресация порта просто не работает, когда я пытаюсь подключиться:
myserver$ ssh root@localhost -p 1234
с ошибкой:
ssh_exchange_identification: read: Connection reset by peer
Итак, как я могу сделать переадресацию портов на этапе загрузки?
Редактировать:
Я попытался добавить библиотечные файлы, которые открывает dbclient
при успешной переадресации обратного порта, в initramfs на всякий случай:
myserver$ strace dbclient -R 7000:localhost:22 user@1.1.1.1 2>&1 | grep open | grep lib | sed 's/open("//' | sed 's/",.*//'
user@1.1.1.1's password:
/lib/x86_64-linux-gnu/libutil.so.1
/lib/x86_64-linux-gnu/libz.so.1
/lib/x86_64-linux-gnu/libc.so.6
/lib/x86_64-linux-gnu/libnss_compat.so.2
/lib/x86_64-linux-gnu/libnsl.so.1
/lib/x86_64-linux-gnu/libnss_nis.so.2
/lib/x86_64-linux-gnu/libnss_files.so.2
... но успеха нет.