bigswifty を WiMAX に接続したので、他のマシンとはネットワーク的に切り離されてしまった。まぁ、これは意図した通りなんだけど、ssh で接続できないのも不便なので、インターネット経由で接続できるように設定する。
ここからは bitswifty 上での作業。
sshdの設定
ポートを変更。
Port 12345
root でのログインを禁止。
PermitRootLogin no
設定を反映するために sshd を再起動。
[lcstorage@bigswifty ~]$ sudo systemctl restart sshd
ファイアウォールの設定
ポートを開ける。
[lcstorage@bigswifty ~]$ sudo firewall-cmd --add-port=12345/tcp --zone=public --permanent
success
設定をリロード。
[lcstorage@bigswifty ~]$ sudo firewall-cmd --reload
success
WiMAX端末のポートマッピング
192.168.100.1 にブラウザで接続して、設定ページから、ファイアウォール設定→ポートマッピングと進んで、WAN ポートの12345 を bitswifty の12345 番ポートに接続するようにする。と、ここで気が付いたんだけど bigswifty のポートは変更しなくても良かったんじゃないか?まぁいいか。
接続テスト
別のマシンからインターネット経由で ssh 接続してみると、無事接続できた。
公開鍵での認証
認証方法をパスワード認証から公開鍵認証に切り替える。公開鍵は GitHub からもってきた。
[lcstorage@bigswifty ~]$ mkdir .ssh mkdir: ディレクトリ `.ssh' を作成できません: ファイルが存在します [lcstorage@bigswifty ~]$ cd .ssh [lcstorage@bigswifty .ssh]$ wget -O authorized_keys https://github.com/takatoh.keys --2018-12-15 05:32:26-- https://github.com/takatoh.keys github.com (github.com) をDNSに問いあわせています... 192.30.255.112, 192.30.255.113 github.com (github.com)|192.30.255.112|:443 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 特定できません [text/plain] `authorized_keys' に保存中 [ <=> ] 381 --.-K/s 時間 0s 2018-12-15 05:32:27 (2.28 MB/s) - `authorized_keys' へ保存終了 [381] [lcstorage@bigswifty .ssh]$ chmod 600 authorized_keys [lcstorage@bigswifty .ssh]$ ls -al 合計 12 drwx------. 2 lcstorage lcstorage 48 12月 15 05:32 . drwx------. 19 lcstorage lcstorage 4096 12月 15 04:34 .. -rw------- 1 lcstorage lcstorage 381 12月 15 05:32 authorized_keys -rw-r--r--. 1 lcstorage lcstorage 185 12月 4 03:56 known_hosts
接続テスト
再び、別のマシンから接続テスト。ちゃんと公開鍵認証で接続できた。
パスワード接続を禁止
最後に、もう一度 /etc/ssh/sshd_config ファイルを編集して、パスワード接続を禁止する。
PasswordAuthentication no
sshd を再起動。
[lcstorage@bigswifty .ssh]$ sudo systemctl restart sshd
これで完了。