はじめに
こんにちは!アメリカで独学でソフトウェアエンジニアを目指しているものです。
現在、Linuxの復習として「ゼロからはじめるLinuxサーバー構築・運用ガイド第二版」を使用しています。
本来はさくらVPSを使用して進めていくのですが、別途VMを使用してローカル環境で進める方法もあり挑戦してみたかったのでそちらを採用しました。しかし、rocky9(Linuxディストリビューション)とTera termのsshプロトコル接続がうまく行かず、開発環境設定で苦戦したので備忘録として残しておきます。
開発環境
ホストOS: Windows 11
仮想化ソフトウェア: VirtualBox 7.1.0
ゲストOS: Rocky Linux 9
SSHクライアント: Tera Term 5.0
VirtualBoxにrocky9を入れるのは以下のリンクを参照に入れました
書籍に書いてあった流れ
VirtualBoxにrockyをインストールして、その後SSHプロトコルによる接続をするために「Tera Term」を使用しました
この後の流れとしては
- rocky9のIPアドレスを調べる
$ ip addr show
で確認できます。inetの後ろに書いている192.168.x.x または 10.x.x.x 形式のものがIPアドレスです - ホスト名にIPアドレスを打ち込む
上記の画像のmyhost.example.com
のところにさっき調べたIPアドレスを入力します。
これでうまくいくはずでした
解決策
上記を試しましたが、Tera Term上で「ホストに接続できません」と表示されました。
Chatgptにも相談し、以下の事項を試しました。
VirtualBoxでポートフォワーディングを設定
ホストOSからVMのSSHに接続するためにポートフォワーディングを設定します。
- VirtualBoxの設定変更
- VirtualBoxを開き、該当のVMを選択。
- 設定 > ネットワーク > アダプタ1 > 割り当て で「NAT」を選択。
- ポートフォワーディング ボタンをクリック。
- 「ポートフォワーディング」をクリックし、以下の設定を追加。
- 名前: SSH
- プロトコル: TCP
- ホストIP: (空欄のまま)
- ホストポート: 2222(任意、例えば 2222)
- ゲストIP: (空欄のまま)
- ゲストポート: 22(SSHのデフォルトポート)
- 設定を保存してVMを再起動
Tera Term上での設定
上記の画像の通りですが、以下のように設定しました
- ホスト(T): localhost
- TCPポート#(P): 2222
これで、無事に接続できました!
まとめ
「ゼロからはじめるLinuxサーバー構築・運用ガイド第二版」は初心者にもわかりやすい教材ですが、ローカル環境で構築する際には注意が必要です。本記事ではNATモードを利用した接続方法を紹介しましたが、ブリッジアダプタを使用することでより簡単に接続できる場合もあります。環境に応じて使い分けてみてください。