SSH接続といえばTera Term なんだろうか

ド定番ではあるけれど

このところの環境の変化というやつはとてつもなく著しい。
あの頃、といってもそれぞれに思い出す時期は違うんだろうけど、サクラエディタか秀丸エディタ、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証明書、独自ドメインにまで話が広がることになるとは、もちろん思っていなかった。


コメント

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です