ubuntuに外部からSSHログインできるようにする(ssh server+ddns)

ssh server をインストール

$ sudo apt-get install openssh-server
$ sudo gedit /etc/ssh/sshd_config

以下に変更
PermitRootLogin no
Port (任意の番号)

$ sudo service sshd restart

ddnsに登録

今回はieServerに登録
ieserver.net

自動でアドレスを更新しに行くよう設定

以下からIPアドレスサンプルスクリプトをダウンロード
無料・ダイナミックDNS(DDNS)サービス - ieServer.Net

ファイル名をddns-update.plに変更しホームディレクトリに置く
中身を以下の通り変更

# wgetをSSL接続可能でビルドしているなら、https:// での接続を推奨
$DDNS_UPDATE     = "https://ieserver.net/cgi-bin/dip.cgi";

# ieServer.Netにて取得したアカウント(サブドメイン)情報を記入
$ACCOUNT         = "     ";     # アカウント(サブドメイン)名設定
$DOMAIN          = "     ";     # ドメイン名設定
$PASSWORD        = "     ";     # パスワード設定

次にcronを設定して10分に一回スクリプトを起動するよう設定。

$ mkdir ~/ddns
$ cp ./ddns-update.pl ./ddns
$ cd ./ddns/
$ chmod 775 ./ddns-update.pl
$ sudo gedit /etc/crontab 

crontab に以下を追記

5,15,25,35,45,55 * * * * /home/(ユーザー名)/ddns/ddns-update.pl

あとはルータのポートマッピング設定をしてSSHでログインするだけ。
ルータ設定については、ルータごとに違うため割愛。

追記(2016/10/10)

以下に各種ディレクトリマウント方法を記載。

t-nkb.hatenablog.com


t-nkb.hatenablog.com