Ssh
反向 SSH 動態埠分配錯誤
當我執行時:
ssh -i mycert -R 0:localhost:80 user@myserver.com
並在“myserver.com”上執行以下命令:
curl localhost:dynamicly_assigned_port
我得到“ssh:伺服器從埠 XXXX 發送未請求的埠”。但是執行:
ssh -i mycert -R 20000:localhost:80 user@myserver.com curl localhost:20000
工作正常。任何想法都是為什麼我在使用動態分配的埠而不是在使用靜態埠時出現此錯誤的原因。我的猜測是由於 dropbear v0.52 中使用的舊 ssh 版本,但正在尋找任何其他想法。謝謝
這個錯誤意味著伺服器發送了一個客戶端沒有預料到的未請求的轉發埠。簡而言之,dropbear SSH 客戶端不知道如何處理遠端伺服器為其分配的動態分配的埠轉發。它不受 dropbear 支持。
相關程式碼:
dropbear 客戶端解析遠端轉發請求並將其添加到其跟踪的轉發列表中:https ://github.com/schemacs/dropbear/blob/3c4d57db86668f3cecd91566f971371fbea8684b/cli-runopts.c#L569
dropbear 客戶端迭代
remotefwds
它請求的位置並嘗試查找伺服器已設置的埠轉發的匹配項:https ://github.com/schemacs/dropbear/blob/3c4d57db86668f3cecd91566f971371fbea8684b/cli-tcpfwd.c#L214