Как сделать переадресацию портов на этапе initramfs?
Я могу установить 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 ответ
Интерфейс обратной связи может быть недоступен в initramfs
хост. Может быть, все, что вам нужно, это
ifconfig lo up
(Вдохновлен этим ответом на Unix & Linux SE).