1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ConoHa WINGのサーバーはVSCode Remote-SSHで接続できない

Last updated at Posted at 2022-12-06

タイトルの通りです。

ConoHa WING のレンタルサーバーは VSCode Remote-SSH 拡張機能を使ったSSH接続ができません。
(ConoHa VPS なら接続できるようなのですが…。)

XSERVERなど、レンタルサーバーによっては接続できることもあるらしいのですが。
ほかにもRemote-SSH拡張機能が使えなくて困ってる人がいるかもしれないので、とりあえず簡単にメモっておきます。

環境

レンタルサーバー: ConoHa WING(ベーシックプラン)
VSCode: 1.73.1(現時点最新版)
Remote-SSH: v0.92.0(現時点最新版&プレビュー)

前提条件

PowerShellなどでSSH接続はできる

PS C:\Users\User> ssh "(ユーザー名)@www***.conoha.ne.jp" -p "(ポート番号)" -i "(プライベートキーのパス)"

ユーザー名、ホスト名(www***.conoha.ne.jp)、ポート番号 は
ConoHaコントロールパネル>サーバー管理>SSH
で確認できます。

~/.ssh/configC:\Users\User\.ssh\configに接続情報が設定してあれば、

PS C:\Users\User> ssh "(Host として登録した名前)"

でも接続可能。

ちゃんと適切なパラメータを指定してあれば、ConoHa WINGの場合はパスワード入力無しで接続できるはずです。

⇒ できない場合、なんかどっか間違えてるかよく知らない原因のエラーだと思います。
ここでは扱いません。
エラーメッセージで検索するなりして頑張ってください。

VSCodeの設定で各種エラー回避策は設定してある

remote.SSH.configFile: 絶対パスを設定
remote.SSH.connectTimeout: いちおう長めの秒数を設定
remote.SSH.remotePlatform: 適切なペアを設定(conoha:linux 的な感じに)
remote.SSH.showLoginTerminal: オン
remote.SSH.useLocalServer: オフ

ふつうの人はこれだけ設定すればまず接続するんだそうな…

その他もろもろ

今回は直接関係はないですが、以下のような原因で接続できない場合もあるそうです。

・プライベートキーファイルのアクセス権が適切に設定してある
lightsailで作成したインスタンスにVSCodeからSSH接続しようとしたら躓いた時の覚え書き

・サーバー側の~/.vscode-server/ディレクトリ以下を念のため削除してみる
VSCodeのリモートSSHが急に接続できなくなったら。

・サーバー側にvscode-server関連のゾンビプロセスがいないか?
VSCode Remote Developmentの無限ループへの対処

原因と解説策

VSCodeのターミナルを表示して確認してみたところ、以下のようなエラーメッセージが出ていることが確認できました。
(出力>Remote-SSH で他にも詳しい情報が確認できます)

channel 3: open failed: administratively prohibited: open failed

いろいろと四苦八苦したところ、公式リファレンスのトラブルシューティング にこのエラーメッセージで対応策が書いてありました。

公式トラブルシューティングの情報

Enable TCP Forwarding on the remote host

Remote - SSH extension makes use of an SSH tunnel to facilitate communication with the host. In some cases, this may be disabled on your SSH server. To see if this is the problem, open the Remote - SSH category in the output window and check for the following message:

open failed: administratively prohibited: open failed

If you do see that message, follow these steps to update your SSH server's sshd config:

  1. Open /etc/ssh/sshd_config or C:\ProgramData\ssh\sshd_config in a text editor (like Vim, nano, Pico, or Notepad) on the SSH host (not locally).
  2. Add the setting AllowTcpForwarding yes.
  3. Restart the SSH server. (On Ubuntu, run sudo systemctl restart sshd. On Windows, in an admin PowerShell run, Restart-Service sshd).
  4. Retry.

意訳

TCPポートフォワーディングをリモートホストで有効化する

Remote-SSHは、ホストとの通信を確立するためにSSHトンネルを使用します。
場合によっては、この機能がサーバー側で無効になっていることがあります。
これが問題であるかどうかを確認するには、出力ウィンドウでRemote - SSHカテゴリを開き、次のメッセージが表示されることを確認します:

open failed: administratively prohibited: open failed

このメッセージが表示されていた場合は、以下の手順でSSHサーバーのsshd configを更新してください:

  1. /etc/ssh/sshd_config or C:\ProgramData\ssh\sshd_configSSHホスト(ローカルではなく)のテキストエディタで開く
  2. 設定AllowTcpForwarding yesを加える
  3. SSHサーバーを再起動する。
    Ubuntuではsudo systemctl restart sshdを実行。Windowsでは、管理者権限のPowerShellRestart-Service sshdを実行。
  4. 再チャレンジ

対応策(対応不能)

/etc/ssh/sshd_configが存在しなかったため追加しようとしたのですが、root権限が無いと/etc/ssh/へのファイル追加ができないため、詰みました。
(ConoHa WINGのサーバーではroot権限に昇格できないっぽい)

VSCode公式SSH拡張機能つかってみたい~~。

この結論を得るまでに参考にしたページ

※ブラウザに開きっぱなしにしてあったページのまとめです。直接関係ない情報も含みます

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?