しょうもないことではまってたけどやっとできるようになった。
TeratermからSSH接続できない
VirtualBoxなどの仮想環境にCentOSを入れていたわけですが、Teratermでログインできたら便利だなと思っていました。
でもなぜかできない。そもそもOKボタンが押せない。ずっとSSH認証画面のまま。
原因
いろいろと調べました。いろいろダメでした。
そして、最終的に行きついた答えが「ネットワークインターフェースが有効化されていなかった」でした。
なんとしょうもない。
立てたばかりのCentOSにアクセスしようとしていたためインターフェース設定をまだしていませんでした。きちんとONBOOT(起動時にインターフェースを起動するかどうか)をyesにしておきましょう。
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
~省略~
ONBOOT=yes
~省略~
SSH接続ができるようになりました。
基本的な設定方法
VirtualBox>設定>ネットワークで割り当てがNATになっていることを確認。ポートフォワーディングを押下する。
ホストポートを「2222」、ゲストポートを「22」のルールを設定する。(※ホストポート「2222」は任意の値)設定が完了したらOKを押下する。
CentOSを起動して、インターフェース設定を行う。このとき、必ずONBOOTを有効にしておくこと。
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
~省略~
ONBOOT=yes
~省略~
インターフェース再起動を行う。
$ sudo service network restart
インターフェース eth0 を終了中: [ OK ]
ループバックインターフェースを終了中 [ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中:
eth0 のIP情報を検出中... 完了。
[ OK ]
Teratermからログインできることを確認する。このとき、ホストはlocalhost、TCPポートは「2222」にしておく。
認証画面が出てくるので、ユーザ名、パスワードを入力してOKを押下。
ログインできればOKです。
まとめ
ということで、仮想環境にTeratermからアクセスする場合は下記を確認しましょう。
- sshdデーモンが立ち上がっているか
- /etc/hosts.allow、hosts.denyで拒否されていないか
- SELinuxで拒否されていないか
- Firewalldで拒否されていないか
- Windowsのファイアウォールでブロックされていないか
- ウィルス対策ソフトでブロックされていないか
- VirtualBoxでポートフォワーディング設定が適切になされているか
- ネットワークインターフェースが有効化されているか
CentOSをVirtualBoxにインストールする方法は下記を参考にしてください。