我可以将 dropbear 安装到 initramfs 中,并my_initramfs_ip
在启动阶段成功连接到此 ssh 服务器(IP: ),如所述这里。
现在我想在同一阶段作为客户端执行端口转发。为此,我dbclient
在 initramfs 中安装了 dropbear ssh 客户端 ( ),为了检查它是否正常工作,我尝试在 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 [email protected] 2>&1 | grep open | grep lib | sed 's/open("//' | sed 's/",.*//'
[email protected]'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
...但没有成功。