Я могу установить 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

... но успеха нет.

1 ответ1

1

Интерфейс обратной связи может быть недоступен на хосте initramfs . Может быть, все, что вам нужно, это

ifconfig lo up

(Вдохновлен этим ответом на Unix & Linux SE).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .