ド定番ではあるけれど
このところの環境の変化というやつはとてつもなく著しい。
あの頃、といってもそれぞれに思い出す時期は違うんだろうけど、サクラエディタか秀丸エディタ、FFFTPとかLhaplusあたりのソフトウェアは、セットアップが終わり次第ノータイムでインストールしていたんじゃないか。
だが今は令和も8年。Windows11だって登場してから4年も過ぎた。
諸説あっていいことだから詳しく書かないけど、Google Chromeを盲目的に入れなくたっていいわけだ。
QNAPにSSH接続したい
自宅でQNAPのNASを使っている。昨年の年末頃、ありとあらゆる機器が値上がりしており、波及しきる前にと確保しておいた。その辺の顛末はまた詳しく書くときも来るだろう。
単なるファイル置き場に留まらず、仮想マシンやDockerコンテナまで動かせるちょっとしたサーバーとして遊べる便利な機械だ。
今回は、DNSサーバーとしてAdGuard Homeを構築しようと思い立った。ペアレンタルコントロールにももってこいで、自宅ネットワークにちょうどいいんだ。
また、iOSで広告ブロックをするにはDNSで弾くしかないんだけど、端末側のAdguard Proが毎日根を上げているようで電池持ちや発熱も気になっていた。
Safariに限ればコンテンツブロッカーでいくつも選択肢はあるんだけどね、他のアプリがね。SmartNewsとかさ。
こういうことを始めると、Linuxのコマンドラインを触る必要が出てくる。QNAPにはSSHで接続できる。
WindowsからSSH接続するなら、Tera Termを使うのが定番中の定番だ。ネットランナーにもそう書いてあった。
だけど今回はわざわざ入れようと思わなかった。Wingetからインストールできることも知っていたけど。
別にTera Termが嫌いなわけではない。長年使われてきた実績のあるソフトウェアだし、便利なのも分かっている。
ただ、Windowsには既にOpenSSHクライアントが搭載されている。それなら、わざわざ別のターミナルソフトをインストールしなくてもいいのではないか。
そんな程度の動機だった。
SSHをちゃんと理解してみる
実のところ、SSHという仕組みについては、それまであまり深く理解していなかった。
サーバーにリモートでログインするための暗号化された通信方式、という程度の認識はある。けれど、ホスト鍵とユーザー認証の違いや、公開鍵認証がどんな仕組みで動いているのかを、きちんと説明できる自信はなかった。
せっかくなので、今回はコマンドをコピーして接続できれば終わり、とはせず、途中で出てくるものを一つずつ理解してみようと思った。
Windows Terminalを開き、QNAPにSSHで接続してみる。
ところが、早速うまくいかなかった。
表示されたのは、こんなエラーだった。
Corrupted MAC on input
MAC?
私の知っているマックは3つだ。
- Appleのアレ
- ネットワークカードのアレ
- ハンバーガーのアレ
SSHで出てくるMACとは何だろう。
調べてみると、ここでいうMACは Message Authentication Code、メッセージ認証コードのことらしい。
通信内容が改ざんされていないかを検証するための仕組みで、LAN機器に割り当てられるMACアドレスとは関係がない。
どうやら、WindowsのOpenSSHクライアントとQNAPのSSHサーバーとの間で、通信に使うアルゴリズムの組み合わせに問題があるようだった。
最終的には、SSHのMACアルゴリズムを明示的に指定することで接続できた。
ssh -m hmac-sha2-256-etm@openssh.com <ユーザー名>@<QNAPのアドレス>
-mが、SSHで使用するMACアルゴリズムを指定するオプション。
これで無事にQNAPのシェルへ入ることができた。
ただNASに接続したかっただけなのに、最初から暗号通信の仕組みを一つ勉強することになった。
こういう寄り道は嫌いではない。
そして、この時点ではまだ、SSH接続はAdGuard Homeを構築するための準備に過ぎなかった。
ここから先、家庭内のIPv6 DNS、DoH、TLS証明書、独自ドメインにまで話が広がることになるとは、もちろん思っていなかった。
コメントを残す