web-dev-qa-db-ja.com

LinuxのWindowsサブシステム上のSSHのこのエラーは何ですか? setsockopt IPV6_TCLASS 16:操作は許可されていません

Linux用のWindowsサブシステムを使用しています。 SSHを使用してホームサーバーにログインすると、最初に次のエラーが表示されます

setsockopt IPV6_TCLASS 16: Operation not permitted:

そして、すべてが期待どおりに動作します:

Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-77-generic x86_64)
etc

私が収集できることから、setsockoptは...ソケットオプションを変更するために使用されるもの(実行可能なコマンドではありません)ですが、誰が、またはなぜかはわかりません。

私はこのエラーが何であるか、そしてなぜそれがポップアップするのかに主に興味があります、そしてすべてがまだ機能するので、それを修正する方法にはあまり興味がありません(それが大きなひどい怖いものでない限り)、それもまた知っておくといいでしょう。

FWIWこれは新しくインストールされたサーバーで、SSHのキーを使用しています。 WSL Ubuntuバージョン:16.04.2 LTS。 Windowsバージョン:1703、ビルド番号:15063.296。

10
donut

setsockoptはLinux syscall-ユーザースペースアプリケーションからLinuxカーネルに送信されるコマンドです。 setsockoptは、あらゆる種類のソケットにさまざまなオプションを設定するために使用される非常に一般的なものです。あなたの場合、それはおそらく、名前を解決するために使用されるudp接続(DNS)への記述子、またはホームサーバーへのtcp接続(SSH)です。

IPV6_TCLASSは、IPV6トラフィッククラスを設定するために使用され、失敗する理由は、WindowsまたはWSLがその操作をサポートしていないか、または持っていない特別な権限を必要とするためです((操作は許可されていませんテキストはENOPERMエラーの標準ライブラリから取得されます。許可に関するものですが、WSLがアプリの互換性を維持するために他の理由でそれを返したのは不可能ではありません)。

このエラーは安全に無視できます。つまり、一部のネットワーク接続がアプリケーションで必要なトラフィッククラスを使用していない可能性が高いため、問題が発生する可能性はほとんどありません。

WSLが内部でどのように機能するかについてさらに詳しく知りたい場合は、WSLのすべての側面をカバーするブログ記事を伴う素晴らしいビデオシリーズがあります(ビデオのブログ投稿を下にスクロールしてください)。

  1. LinuxのWindowsサブシステム:アーキテクチャの概要
  2. LinuxのWindowsサブシステム:プロセスアーキテクチャ
  3. LinuxのWindowsサブシステム:WSLシステムコール
  4. LinuxのWindowsサブシステム:WSLファイルシステムのサポート
  5. WindowsとUbuntuの相互運用性
  6. WSLネットワーキング