0
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.

Vagrantで立ち上げた仮想環境でRemote-SSHを行う際に「Could not establish connection to "xxx"」と表示されたときの対処法

Last updated at Posted at 2022-05-16

ローカル開発環境にvagrantを使い、開発を行っている人も多いと思うが、その中でRemote-SSHを使用して開発を行った際にハマってしまったことを共有する。

なお、この記事ではRemote-SSHの設定については扱わないため、設定をしたい方は以下のリンクを参考にしてほしい。

本題に入るが、複数の環境をRemote-SSHで設定した場合、単にvagrant ssh-configの内容を \Users(user名)\ .ssh\configに貼り付けて、複数の環境を立ち上げた場合、しばしばRemote-SSHでの設定で以下のようなエラーが発生することがある。

無題.png

これは、接続が行えないという意味であるが、原因は主にConfigファイルに書かれた設定に問題があるために起こりうる。

Config
Host aaa
  HostName 127.0.0.1
  User vagrant
  Port 2222
  (略)

Host bbb
  HostName 127.0.0.1
  User vagrant
  Port 2200
  (略)
  
Host ccc
  HostName 127.0.0.1
  User vagrant
  Port 2222
  (略)

仮に、このようにファイルが設定されていたとする。

このとき、Remote-SSHで接続を行った場合、以下2ケースで接続を確立できない可能性がある。

  • Host aaaとHost cccを両方起動した場合。
  • Host bbbのみを立ち上げた場合。

Host aaaとHost cccを両方起動した場合、vagrantではホスト側のポートをデフォルトで2222番に設定するが、もしその番号が使われていた場合、別ポートでフォワーディング設定してくれる。
そのため、このケースの場合、Host aaaもしくはHost cccのどちらかの接続をRemote-SSHで行えない場合がある。

また、Host bbbのみを立ち上げた場合、デフォルトのポート番号2222が割り当てられるため、この設定の場合は接続することができない。

対処法

適宜Configファイルに割り当てられたポート番号を変更する方法もあるが、毎回面倒なためここでは割愛する。

HostNameを "forwarded_port"のhostを任意の値に変更し、ConfigのPortに反映する。

以下のようにVagrantfileのhostを任意の値に変更し、guestを22,idをsshとする。

Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = (任意のbox)
 #以下を追加
 config.vm.network "forwarded_port", guest: 22, host: 2260, id: "ssh"
  config.vm.network "private_network", ip: "192.168.33.xx"
end

vagrant reloadを行う。

その後、Portにその値を反映する。

Config
Host aaa
  HostName 192.168.33.xx
  User vagrant
  Port 2260
  (略)

これで、接続できるようになったはずです。

0
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
0
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?