ページ「Sshのインストール」と「「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」の利用/ArchLinux」の間の差分

提供: とある社畜の頭脳整理
(ページ間の差分)
ナビゲーションに移動 検索に移動
 
 
1行目: 1行目:
手順化するまでもないかなとも思いつつ…<br/>
+
「外部からSSH接続したい」でも「IPアドレスが半固定」しかも「IPv6プラス」ってなると、なかなかIPv6に対応したDDNS(ダイナミックドメインネームサーバー)が見つからないです。<br/>今のところメジャーなのが「[https://i.open.ad.jp/ OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト]」みたいなので、これを利用して外部から接続できるようにしてみたいと思います。
細かい設定までは調べたことがなかったので、設定の情報を含めてインストールしてみます。
 
  
= インストール =
+
== 現在のIPv6アドレスの確認 ==
以下のコマンドを実行します。
+
外部に公開したいサーバーのIPv6アドレスを調べます。<br/>googleで調べると「ifconfigで調べる」というのがたくさんヒットしますが、Debian9.9では「ifconfig」が非推奨になってしまったので、代わりに「ip」で調べます。(Raspbianは「ifconfig」で調べられます)
<syntaxhighlight lang="bash">pacman -S openssh</syntaxhighlight>
+
<syntaxhighlight lang="bash">ip a</syntaxhighlight>
 +
で、以下のような結果が得られるかと思います。
 +
<syntaxhighlight lang="text">1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
 +
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
 +
    inet 127.0.0.1/8 scope host lo
 +
      valid_lft forever preferred_lft forever
 +
    inet6 ::1/128 scope host
 +
      valid_lft forever preferred_lft forever
 +
2: enxAABBCCDDEEFF: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
 +
    link/ether AA:BB:CC:DD:EE:FF brd ff:ff:ff:ff:ff:ff
 +
    inet 192.168.1.2/24 brd 192.168.1.255 scope global enxAABBCCDDEEFF
 +
      valid_lft forever preferred_lft forever
 +
    inet6 HHHH:IIII:JJJJ:KKKK:LLLL:MMMM:NNNN:OOOO/64 scope global noprefixroute dynamic
 +
      valid_lft 86398sec preferred_lft 14398sec
 +
    inet6 PPPP:QQQQ:RRRR:SSSS:TTTT:UUUU/64 scope link
 +
      valid_lft forever preferred_lft forever
 +
</syntaxhighlight>
 +
「inet6」の「scope global」となっている「HHHH:IIII:JJJJ:KKKK:LLLL:MMMM:NNNN:OOOO」がグローバルIPv6アドレスとなります。<br/>
 +
(セキュリティ的には危険ですが、試しにルーターの設定を「パススルーを許可する」にして、このアドレスにSSH接続してみると接続できるかと思います。もちろんアドレスが変わってしまえば接続できなくなりますが…)
  
だーっと、インストールされます。<br/>
+
== 「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」に登録 ==
インストール自体はこれで完了ですが…<br/>
+
次に「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」に登録していきます。<br/>まずは「[https://i.open.ad.jp/ OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト]」にアクセスします。<br/>すると、画面下部に以下のような項目があるかと思いますので、入力していきます。<br/>[[ファイル:Ddns-setting-001.png | 400px]]
この状態ではssh接続できないので、サービスを起動します。
 
<syntaxhighlight lang="bash">systemctl start sshd
 
systemctl enable sshd</syntaxhighlight>
 
念のため、正常に起動しているか確認します。
 
<syntaxhighlight lang="bash">systemctl status sshd</syntaxhighlight>
 
「active (running)」と表示されていれば正常に起動しています。
 
  
= 設定 =
+
* ホスト名:任意のホスト名を入力します
セキュリティを加味して、ポート番号など変更したい場合があるかと思います。<br/>
+
* 初期IPv6アドレス(オプション):前段で取得したIPv6アドレスを入力します
その場合、「/etc/ssh/sshd_config」ファイルで設定します。<br/>
+
* メールアドレス:ホストキー(後述します)紛失時に使用します。(登録しておいたほうが安全です)
基本的デフォルトの設定で動作しますので、変更したい場合は「sshd_config」内でコメントを外して設定します。
 
  
以下、私がよく変更する設定項目だけ上げていきます。
+
入力し終わったら「作成」ボタンをクリックします。<br/>「新しい DDNS ホスト 「example.i.open.ad.jp」 の作成が完了しました。」と表示されればOKです。<br/>「OK」ボタンをクリックします。
  
<dl>
+
すると以下の様な一覧が表示されます。(横長ではみ出てますwww)<br/>
<dt>Port</dt>
+
[[ファイル:Ddns-setting-002.png]]<br/>
<dd>ssh接続するポート番号を指定します。<syntaxhighlight lang="text">#9022番ポートで接続したい場合
+
* ホスト名(FQDN):IPアドレスの代わりに使うホスト名になります
Port 9022</syntaxhighlight></dd>
+
* IPv6アドレス:上の画像では「::1」と表示されてしまっていますが、実際は現在のIPv6アドレスが表示されます
<dt>PermitRootLogin</dt>
+
* ホストキー情報:ホストキーと合わせて、更新用の「ホスト名」「アドレス」「URL」が表示されています
<dd>rootアカウントでのログインの可/不可を設定します。<syntaxhighlight lang="text">#rootアカウントでのログインを許可する場合
+
* 登録メールアドレス:登録時に入力したメールアドレスが表示されています
PermitRootLogin yes
+
* クエリ回数~操作:省略
  
#rootアカウントでのログインを許可しない場合
+
ちなみに、登録したWEBブラウザで「[https://i.open.ad.jp/ OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト]」を開くと登録したホスト一覧が表示されるのですが、別のWEBブラウザで開くとホスト一覧が表示されません…。<br/>そんなときは、「過去に作成した DDNS ホストをリストに追加」機能を利用して、表示させたい「ホストキー」を入力するとこで表示できるようになります。
PermitRootLogin no</syntaxhighlight></dd>
 
<dt>PubkeyAuthentication</dt>
 
<dd>公開鍵・秘密鍵を使用したログインの可/不可を設定します。<syntaxhighlight lang="text">#公開鍵・秘密鍵を使用したログインを許可する場合
 
PubkeyAuthentication yes
 
  
#公開鍵・秘密鍵を使用したログインを許可しない場合
+
また、その下の更新用「ホスト名」「アドレス」「URL」ですが、公開したいサーバーのIPv6アドレスが変わってしまったときに、公開したいサーバーから「ホスト名」「アドレス」にpingや「URL」にアクセスするとIPv6アドレスが最新の情報に更新されます。<br/>(ルーターからやっちゃダメですよ…ルーターのIPv6アドレスに書き換わっちゃうので…私はしばらくルーターからやってましたwww)
PubkeyAuthentication no</syntaxhighlight></dd>
 
<dt>PasswordAuthentication</dt>
 
<dd>パスワードによるログインの可/不可を設定します。<syntaxhighlight lang="text">#パスワードによるログインを許可する場合
 
PasswordAuthentication yes
 
  
#パスワードによるログインを許可しない場合
+
登録は以上です。
PasswordAuthentication no</syntaxhighlight></dd>
 
<dt>X11Forwarding</dt>
 
<dd>X11ポートフォワードの可/不可を設定します。<syntaxhighlight lang="text">#x11ポートフォワードを許可する場合
 
X11Forwarding yes
 
  
#x11ポートフォワードを許可しない場合
+
== systemdでIPv6の更新をする ==
X11Forwarding no</syntaxhighlight></dd>
+
systemdを使用して、一定間隔で「アドレス」にpingをするようにしてみます。<br/>先ずは、公開したいサーバーにログインして、以下のコマンドを実行します。
</dl>
+
<syntaxhighlight lang="bash">sudo nano /etc/systemd/system/ddns-update.service</syntaxhighlight>
 +
新しくファイルを作成しているので、中身はなにもないはずです。<br/>ちなみに「/etc/systemd/system」ディレクトリは「systemd」で動かすサービスファイル置き場みたいです。<br/>つまり今回は「ddns-update」サービスを作成していきます。
  
= 公開鍵・秘密鍵を使用して接続する =
+
次にファイルの中身ですが、以下の様にします。
セキュリティを加味して公開鍵・秘密鍵(鍵ペア)を作成して、認証する設定に変更します。<br/>
+
<syntaxhighlight lang="text">[Unit]
パスワード認証でもそれなりに長いパスワードにすれば良いのかもしれませんが、[https://ja.wikipedia.org/wiki/%E7%B7%8F%E5%BD%93%E3%81%9F%E3%82%8A%E6%94%BB%E6%92%83 ブルートフォースアタック]をされたりすれば、安全とは言い切れません。<br/>
+
Description=ddns ipv6 update
鍵ペアを使用した認証は、「公開鍵をサーバーに設定」「秘密鍵を接続するクライアントに配布」することで、秘密鍵を持っているクライアントしか接続できなくなります。<br/>
 
秘密鍵を厳密に管理すれば、理論上安全と言えます。<br/>
 
  
以下の手順は実は手を抜いて、秘密鍵をサーバー側で作成しています。<br/>
+
[Service]
(厳密に言えば、秘密鍵は秘密にしたいわけで…ネットワーク上に流すのははばかられます…)<br/>
+
Type=simple
なので、以下の手順は「まぁ…そこまでは気にしないよ」という方向けですwww。
+
ExecStart=/bin/ping6 -c 1 [更新用IPv6アドレス]</syntaxhighlight>
 +
[更新用IPv6アドレス]は先程の一覧の「更新用アドレス」に置き換えてください。<br/>上記の一覧の例を反映すると…
 +
<syntaxhighlight lang="bash">[Unit]
 +
Description=ddns ipv6 update
  
 +
[Service]
 +
Type=simple
 +
ExecStart=/bin/ping -c 1 2409:11:c0e0:468:6b16:a7eb:503e:c23b</syntaxhighlight>
 +
となります。
  
以下のコマンドで鍵ペアを生成します。
+
-c 1」は1回実行という意味です。<br/>「Description」は好きな内容に変更しても大丈夫です。
<syntaxhighlight lang="bash">ssh-keygen -t rsa -b 4096</syntaxhighlight>
 
  
 +
次にこれを一定間隔で起動するタイマーを作成します。<br/>以下のコマンドを入力してください。
 +
<syntaxhighlight lang="bash">sudo nano /etc/systemd/system/ddns-update.timer</syntaxhighlight>
 +
これも新規作成です。<br/>
 +
内容は以下の様にします。
 +
<syntaxhighlight lang="text">[Unit]
 +
Description=ddns ipv6 update timer
  
鍵ペアの格納先を聞かれたら、任意に指定します。<br/>
+
[Timer]
(デフォルトでいい場合は、何も入力せずにEnterキーを押します)
+
OnCalendar=*-*-* *:00:00
<syntaxhighlight lang="bash">Enter file in which to save the key (/home/test/.ssh/id_rsa):</syntaxhighlight>
 
  
 +
[Install]
 +
WantedBy=timers.target</syntaxhighlight>
 +
内容的には「ddns-update.serviceを毎時0分0秒に起動する」と言って感じです。<br/>「ddns-update.service」ファイルと同様に「Description」は好きな内容に変更しても大丈夫です。
  
次にパスフレーズ(パスワードみたいなものです)を聞かれるので、任意の文字列を設定します。
+
準備ができたので、動かしてみます。<br/>動かすときは以下のコマンドを実行します。
<syntaxhighlight lang="bash">Enter passphrase (empty for no passphrase):</syntaxhighlight>
+
<syntaxhighlight lang="bash">sudo systemctl start ddns-update.timer</syntaxhighlight>
 +
エラーが出なければOKです。<br/>エラーが出たときは内容を確認してください。<br/>内容が合っているのにエラーになるときは…「nano」上で改行をし直してみてください。<br/>(私は改行コードの違いでエラーが出ていることに気づくまで、結構時間がかかってしまいました)
  
 +
正常に動いたなら、今度は起動時に動くようにします。<br/>以下のコマンドで起動時に動くようになります。
 +
<syntaxhighlight lang="bash">sudo systemctl enable ddns-update.timer</syntaxhighlight>
  
再入力が求められるので、同じパスフレーズを入力します。
+
ちなみに、止めたいときは…
<syntaxhighlight lang="bash">Enter same passphrase again:</syntaxhighlight>
+
<syntaxhighlight lang="bash">sudo systemctl stop ddns-update.timer</syntaxhighlight>
  
 +
起動時に動かないようにするには…
 +
<syntaxhighlight lang="bash">sudo systemctl disable ddns-update.timer</syntaxhighlight>
  
以下のように表示されれば、OKです。
+
です。
<syntaxhighlight lang="bash">Your identification has been saved in /home/test/.ssh/id_rsa.
 
Your public key has been saved in /home/test/.ssh/id_rsa.pub.
 
The key fingerprint is:
 
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX test@arch
 
The key's randomart image is:
 
+---[RSA 4096]----+
 
|                |
 
|                |
 
|                |
 
|                |
 
|                |
 
|                |
 
|                |
 
|                |
 
|                |
 
+----[SHA256]-----+</syntaxhighlight>
 
  
  
以下のコマンドで、公開鍵の情報を設定します。
+
ここで少し疑問に思う人がいるかも知れません…<br/>「ddns-update.service」と「ddns-update.timer」と実行コマンドの「sudo systemctl start ddns-update」の3つを関連付ける設定をしていません。<br/>実は単純な話で、ファイル名だけで関連付いています。<br/>「ddns-update.service」と「ddns-update.timer」は「ddns-update」が同じになっています。<br/>これで「*.service」ファイルと「*.timer」ファイルはセットだと認識しています。<br/>また実行コマンドは「ddns-update.timer」と指定するだけで「*.service」ファイルを探しに行きます。
<syntaxhighlight lang="bash">cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
 
chmod 600 ~/.ssh/authorized_keys</syntaxhighlight>
 
  
 
+
== ルーターの設定 ==
次に秘密鍵(~/.ssh/id_rsa)をUSBメモリ等を利用してネットワークを経由させないで、どうにかクライアントに持ってきます。<br/>
+
「[[「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」の利用/ArchLinux#ルーターの設定 | PiVPNによるOpenVPNのインストール#ルーターの設定]]」に書いているので、そちらを参照してください。<br/>
(秘密鍵は削除したほうが良いのかな???インナーロック状態だから、JAF呼ばないと開けられないけどwww)<br/>
+
sshのデフォルトポートを開放したいなら22番ポートを開放してください(22番ポートを開放するのは危険だと思いますが…)
クライアント側は、ターミナルアプリに依存するのでググってください…
 
 
 
 
 
次に「/etc/ssh/sshd_config」ファイルを編集してsshの設定を変更します。<br/>
 
上の、sshの設定で大体予想は付くと思いますが…<br/>
 
一気に設定せずに、確認しながら進めます。
 
 
 
 
 
先ずは、コメントを外して公開鍵認証を有効にします。<br/>
 
【修正前】
 
<syntaxhighlight lang="bash">#PubkeyAuthentication yes</syntaxhighlight>
 
【修正後】
 
<syntaxhighlight lang="bash">PubkeyAuthentication yes</syntaxhighlight>
 
 
 
 
 
以下のコマンドで設定変更を反映させます。
 
<syntaxhighlight lang="bash">systemctl reload sshd</syntaxhighlight>
 
 
 
 
 
反映したら、sshでログインしてみます。<br/>
 
ログインできたら、改めて「/etc/ssh/sshd_config」ファイルを編集してパスワード認証を無効にします。<br/>
 
【修正前】
 
<syntaxhighlight lang="bash">#PasswordAuthentication yes</syntaxhighlight>
 
【修正後】
 
<syntaxhighlight lang="bash">PasswordAuthentication no</syntaxhighlight>
 
 
 
 
 
以下のコマンドで設定変更を反映させます。
 
<syntaxhighlight lang="bash">systemctl reload sshd</syntaxhighlight>
 
 
 
 
 
パスワードでログインしようとしてエラーになればOKです。
 
 
 
 
 
ついでと言ってはなんですが…<br/>
 
rootでのログインも無効にします。<br/>
 
【修正前】
 
<syntaxhighlight lang="bash">##PermitRootLogin prohibit-password</syntaxhighlight>
 
【修正後】
 
<syntaxhighlight lang="bash">PermitRootLogin no</syntaxhighlight>
 
 
 
 
 
以下のコマンドで設定変更を反映させます。
 
<syntaxhighlight lang="bash">systemctl reload sshd</syntaxhighlight>
 
  
 
= 参考サイト =
 
= 参考サイト =
[https://qiita.com/3no3_tw/items/4b5975a9f3087edf4e20 Raspberry Pi3のLAN外からのSSH接続設定方法 - Qiita]<br/>
+
[https://i.open.ad.jp/ OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト]
[https://qiita.com/suthio/items/2760e4cff0e185fe2db9 お前らのSSH Keysの作り方は間違っている - Qiita]<br/>
 
  
[[Category:ssh]]
 
 
[[Category:ArchLinux]]
 
[[Category:ArchLinux]]
[[Category:鍵認証]]
+
[[Category:DDNS]]
{{DISPLAYTITLE:sshのインストール}}
 

2019年7月26日 (金) 14:28時点における版

「外部からSSH接続したい」でも「IPアドレスが半固定」しかも「IPv6プラス」ってなると、なかなかIPv6に対応したDDNS(ダイナミックドメインネームサーバー)が見つからないです。
今のところメジャーなのが「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」みたいなので、これを利用して外部から接続できるようにしてみたいと思います。

現在のIPv6アドレスの確認

外部に公開したいサーバーのIPv6アドレスを調べます。
googleで調べると「ifconfigで調べる」というのがたくさんヒットしますが、Debian9.9では「ifconfig」が非推奨になってしまったので、代わりに「ip」で調べます。(Raspbianは「ifconfig」で調べられます)

ip a

で、以下のような結果が得られるかと思います。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enxAABBCCDDEEFF: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether AA:BB:CC:DD:EE:FF brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global enxAABBCCDDEEFF
       valid_lft forever preferred_lft forever
    inet6 HHHH:IIII:JJJJ:KKKK:LLLL:MMMM:NNNN:OOOO/64 scope global noprefixroute dynamic 
       valid_lft 86398sec preferred_lft 14398sec
    inet6 PPPP:QQQQ:RRRR:SSSS:TTTT:UUUU/64 scope link 
       valid_lft forever preferred_lft forever

「inet6」の「scope global」となっている「HHHH:IIII:JJJJ:KKKK:LLLL:MMMM:NNNN:OOOO」がグローバルIPv6アドレスとなります。
(セキュリティ的には危険ですが、試しにルーターの設定を「パススルーを許可する」にして、このアドレスにSSH接続してみると接続できるかと思います。もちろんアドレスが変わってしまえば接続できなくなりますが…)

「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」に登録

次に「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」に登録していきます。
まずは「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」にアクセスします。
すると、画面下部に以下のような項目があるかと思いますので、入力していきます。
Ddns-setting-001.png

  • ホスト名:任意のホスト名を入力します
  • 初期IPv6アドレス(オプション):前段で取得したIPv6アドレスを入力します
  • メールアドレス:ホストキー(後述します)紛失時に使用します。(登録しておいたほうが安全です)

入力し終わったら「作成」ボタンをクリックします。
「新しい DDNS ホスト 「example.i.open.ad.jp」 の作成が完了しました。」と表示されればOKです。
「OK」ボタンをクリックします。

すると以下の様な一覧が表示されます。(横長ではみ出てますwww)
Ddns-setting-002.png

  • ホスト名(FQDN):IPアドレスの代わりに使うホスト名になります
  • IPv6アドレス:上の画像では「::1」と表示されてしまっていますが、実際は現在のIPv6アドレスが表示されます
  • ホストキー情報:ホストキーと合わせて、更新用の「ホスト名」「アドレス」「URL」が表示されています
  • 登録メールアドレス:登録時に入力したメールアドレスが表示されています
  • クエリ回数~操作:省略

ちなみに、登録したWEBブラウザで「OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト」を開くと登録したホスト一覧が表示されるのですが、別のWEBブラウザで開くとホスト一覧が表示されません…。
そんなときは、「過去に作成した DDNS ホストをリストに追加」機能を利用して、表示させたい「ホストキー」を入力するとこで表示できるようになります。

また、その下の更新用「ホスト名」「アドレス」「URL」ですが、公開したいサーバーのIPv6アドレスが変わってしまったときに、公開したいサーバーから「ホスト名」「アドレス」にpingや「URL」にアクセスするとIPv6アドレスが最新の情報に更新されます。
(ルーターからやっちゃダメですよ…ルーターのIPv6アドレスに書き換わっちゃうので…私はしばらくルーターからやってましたwww)

登録は以上です。

systemdでIPv6の更新をする

systemdを使用して、一定間隔で「アドレス」にpingをするようにしてみます。
先ずは、公開したいサーバーにログインして、以下のコマンドを実行します。

sudo nano /etc/systemd/system/ddns-update.service

新しくファイルを作成しているので、中身はなにもないはずです。
ちなみに「/etc/systemd/system」ディレクトリは「systemd」で動かすサービスファイル置き場みたいです。
つまり今回は「ddns-update」サービスを作成していきます。

次にファイルの中身ですが、以下の様にします。

[Unit]
Description=ddns ipv6 update

[Service]
Type=simple
ExecStart=/bin/ping6 -c 1 [更新用IPv6アドレス]

[更新用IPv6アドレス]は先程の一覧の「更新用アドレス」に置き換えてください。
上記の一覧の例を反映すると…

[Unit]
Description=ddns ipv6 update

[Service]
Type=simple
ExecStart=/bin/ping -c 1 2409:11:c0e0:468:6b16:a7eb:503e:c23b

となります。

「-c 1」は1回実行という意味です。
「Description」は好きな内容に変更しても大丈夫です。

次にこれを一定間隔で起動するタイマーを作成します。
以下のコマンドを入力してください。

sudo nano /etc/systemd/system/ddns-update.timer

これも新規作成です。
内容は以下の様にします。

[Unit]
Description=ddns ipv6 update timer

[Timer]
OnCalendar=*-*-* *:00:00

[Install]
WantedBy=timers.target

内容的には「ddns-update.serviceを毎時0分0秒に起動する」と言って感じです。
「ddns-update.service」ファイルと同様に「Description」は好きな内容に変更しても大丈夫です。

準備ができたので、動かしてみます。
動かすときは以下のコマンドを実行します。

sudo systemctl start ddns-update.timer

エラーが出なければOKです。
エラーが出たときは内容を確認してください。
内容が合っているのにエラーになるときは…「nano」上で改行をし直してみてください。
(私は改行コードの違いでエラーが出ていることに気づくまで、結構時間がかかってしまいました)

正常に動いたなら、今度は起動時に動くようにします。
以下のコマンドで起動時に動くようになります。

sudo systemctl enable ddns-update.timer

ちなみに、止めたいときは…

sudo systemctl stop ddns-update.timer

起動時に動かないようにするには…

sudo systemctl disable ddns-update.timer

です。


ここで少し疑問に思う人がいるかも知れません…
「ddns-update.service」と「ddns-update.timer」と実行コマンドの「sudo systemctl start ddns-update」の3つを関連付ける設定をしていません。
実は単純な話で、ファイル名だけで関連付いています。
「ddns-update.service」と「ddns-update.timer」は「ddns-update」が同じになっています。
これで「*.service」ファイルと「*.timer」ファイルはセットだと認識しています。
また実行コマンドは「ddns-update.timer」と指定するだけで「*.service」ファイルを探しに行きます。

ルーターの設定

PiVPNによるOpenVPNのインストール#ルーターの設定」に書いているので、そちらを参照してください。
sshのデフォルトポートを開放したいなら22番ポートを開放してください(22番ポートを開放するのは危険だと思いますが…)

参考サイト

OPEN IPv6 ダイナミック DNS for フレッツ・光ネクスト