VScodeは、リモートサーバー、SSH、およびVPNCに関する最近の質問について見つけたソリューションを作成して公開しています。はい、多くの時間を無駄にしました。あなたの時間を節約できることを願っています。
質問
デフォルトのubuntu VPNクライアントcisco互換(vpnc)を使用するには、VPNクライアントを変更する必要がありました。 VPNを設定した後、リモートSSHシステムにアクセスできません。ただし、コンピュータにpingを送信できます。
答え1
デバッグ後、ssh -v ...
次のエラーが発生しました。
expecting SSH2_MSG_KEX_ECDH_REPLY
この問題を解決するには(他リンク)、/etc/ssh/ssh_config
次の行を編集する前に:
# MACs hmac-md5,hmac-sha1,[email protected],hmac-ripemd160
MACs hmac-sha1
さて、端末を介したSSHは正常に動作します。
その後、リモートコンピュータでVscodeを開こうとしましたが、次のエラーが発生しました。
Remote-SSH hangs on "Setting up SSH Host <remote> (details) Initializing VS Code Server"
デフォルトでは無期限に停止し、しばらくすると接続タイムアウトが返されます。
このサイトのすべての回答と投稿を見た後、端末を見て接続が確立されていることがわかるので、問題はMTUに関連していると思われます。また.vscode_server
、リモートシステムから削除したので、ホストからリモートで実行可能ファイルをアップロードする必要があることを知っています。
MTUの問題を確認するために、次のコマンドを実行しました。
scp file_large user@host
結果?コマンドを実行するとすぐに複製が停止します。 MTUの問題は現在ほとんど確認されています。
MTUの問題を修正
利用可能な最大MTUサイズをテストするために、pingコマンドを使用してサーバーにpingを実行しました。
ping -M do -s 1500 remote_ip
コマンドが返されないまでMTUサイズ(この場合は1500)を減らします。
ping: local error: message too long, mtu=1500
MTUサイズ(私は1370)を見つけた後、VPNトンネル名のMTUを変更しました。
sudo ifconfig your_tunnel_name mtu 1370 up
そして、scpコマンドが正しく動作するかどうかをテストしました。残念ながら、このコマンドは永続的ではないため、作成する必要があります。永久に:
以下にファイルを作成します。/etc/network/if-up.d
そして
#!/bin/sh
if [ "$IFACE" = "your_tunnel_name" ]; then
sudo ifconfig your_tunnel_name mtu 1300
fi
注:ファイルを実行可能にしてください。
今私のコンピュータにアクセスできます!