24

ホストOSでVMを実行するようにvagrantをセットアップしました。私がやりたいことは、他のマシンから vagrant vm に直接 ssh できるようにすることです (つまり、ホストに ssh してから vagrant ssh などを vagrant vm に入れるべきではありません)。

現在、を使用してホストOSからvagrant sshを使用せずにsshできますssh vagrant@127.0.0.1 -p 2222。ただし、同じコマンドを実行すると (127.0.0.1 をホストの IP アドレスに置き換えて)、「ホスト XXXXX ポート 2222 への ssh 接続: 接続が拒否されました」というメッセージが表示されます。

独自のポート転送ルールを vagrant に追加してみました:

config.vm.network :forwarded_port, guest: 22, host: 2222

ただし、ホスト マシンまたはネットワーク内の他のマシンからの ssh 接続は許可されません。さらに、vagrant ドキュメントでconfig.sshをしばらく使用しました。ただし、これらのパラメーターのほとんどは、vagrant vm が ssh を実行しているポートを指定していると思います。

これはそれほど難しいことではないと思います。私が間違っている可能性があること、またはリモートサーバーからvagrant vmにsshするために別の方法で何をすべきかを誰かが知っていますか?

4

4 に答える 4

38

ネットワークをパブリックに変更したくない場合は、次のようにして ssh のデフォルトのポート転送をオーバーライドできます。

config.vm.network :forwarded_port, guest: 22, host: 2222, host_ip: "0.0.0.0", id: "ssh", auto_correct: true

これにより、ゲスト 22 ポートがホスト マシンの 2222 に転送され、任意の IP から利用できるようになるため、ローカル マシンの外部からアクセスできます。

于 2014-12-15T11:13:52.250 に答える
6

Vagrantfile次のような別のルールを追加することもできます。

config.vm.network :forwarded_port, guest: 1234, host: 22

デフォルトのポート (2222) で Vagrant に接続して編集し、以前に「ゲスト」として構成されたポートの/etc/ssh/sshd_config下に追加すると、次のようになります。Port 22

...
Port 22 #Uncomment this line if it's commented
Port 1234
....

最後に、ssh デーモンを再起動するかvagrant reload(VM の実行中に編集Vagrantfileした場合は再読み込みする必要があります)、ホスト コンピューターの外部から「ホスト」ポート (私の場合は 22) を使用して Vagrant に接続できます。

Vagrant は起動時にハングするため、デフォルトのポートを削除することはできません。

于 2014-03-05T19:26:36.963 に答える
2

使用するvagrant share --ssh

Vagrant には、リモート SSH アクセス用に Vagrant VM を自動的に登録するサービスが追加されました。

ここを参照してください: https://www.vagrantup.com/docs/share/ssh.html

を呼び出しますvagrant share --ssh
これにより、SSH キー (暗号化され、パスワードで保護された) が生成され、それが Hashicorp サーバーにアップロードされ、ばかげたグローバル ボックス名 (たとえば、「rambunctious-deer-3496」) が返されます。
それでは皆さん

経由でボックスにリモート SSH を実行できます vagrant connect --ssh BOXNAME
Vagrant は、舞台裏ですべての管理作業を処理します (詳細はこちら)。

宣伝どおりに動作します。Vagrant ホスト (VM だけでなく) が NAT の背後にある場合でも、これは機能すると思い
ます。

制限:

  • vagrant shareセッションの有効期限が切れます (現在は 8 時間後)
  • すべてのトラフィックは (おそらく) Altas サーバー経由でルーティングされるため、ある程度の遅延が予想されます。
  • おそらく 15 分間使用しなかった後、リモート接続が (明らかな理由もなく) 閉じているのを見たことがあります。
于 2016-09-12T18:34:56.093 に答える