2017年11月5日 星期日

解決「SSH 連線出現 bind: Cannot assign requested address」的問題

最近使用 SSH 連線至「遠端電腦」,都會出現一個訊息,
[SiB@Celeron-D ~]# ssh -p 5566 SiB@192.168.10.17 -L 7508:127.0.0.1:8508 -L 7558:192.168.10.55:8558
SiB@192.168.10.17's password:
bind: Cannot assign requested address
channel_setup_fwd_listener_tcpip: cannot listen to port: 7508
bind: Cannot assign requested address
channel_setup_fwd_listener_tcpip: cannot listen to port: 7555
Could not request local forwarding.
Last login: Sun Nov  5 17:40:30 2017 from 192.168.10.13
但是操作、使用上都沒有問題。對此有些納悶,想瞭解問題的徵結所在,也看是否能將這個問題解決。
  查了網路,多提到要修改 /etc/hosts 這個檔案。參考這些建議修改,訊息照樣出現。不過確定一點是:有 forward 參數時,才會出現這個訊息。後來靈機一動,是不是 IPv4 和 IPv6 的問題。在 SSH 命令中強制使用 IPv4,
[SiB@Celeron-D ~]# ssh -4 -p 5566 SiB@192.168.10.17 -L 7508:127.0.0.1:8508 -L 7558:192.168.10.55:8558
SiB@192.168.10.17's password:
Last login: Sun Nov  5 18:45:23 2017 from 192.168.10.13
就是上例中的 -4,結果那些訊息都不再出現了。

已測試版本:

  • Fedora: 26

參考資料:

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)