今まで、TeraTerm を使ってお名前.com レンタルサーバー(RS)にSSH接続していたのですが、2024年のどこかで、SSH接続ができなくなりました。TeraTerm がサポートしている鍵交換アルゴリズムが足りないからでした。そのため、TeraTerm 以外の方法で、SSH接続します。
お名前.com レンタルサーバー(RS)にSSH接続
お名前.com レンタルサーバー(RS)を使ってWEBやメールの運用をしています。このレンタルサーバーは、WEB UIであるコントールパネルが用意されており、多くはこのコントロールパネルから設定可能です。しかし、CUI であるコンソールを使いたいこともあります。
お名前.com レンタルサーバー(RS) でコンソールを使うときは、SSH接続します。
お名前.com レンタルサーバー(RS)ではSSH接続で、ユーザー名とパスワードによるログオンは許可されていません。ユーザー名と秘密鍵によるログオンのみが許可されています。
そのため、お名前.com レンタルサーバー(RS) にSSH接続するための事前準備として、SSH接続用の秘密鍵・公開鍵を作成し、公開鍵を登録する必要があります。
前回までの投稿で、
- レンタルサーバー側の事前準備の方法
秘密鍵と公開鍵の作成と、公開鍵の登録 - PC側の事前準備の方法
TeraTerm のインストールと秘密鍵ファイルの準備 - TeraTerm を使ったSSH接続方法
実際のSSH接続の方法
を説明しました。
これで、TeraTerm を使ってレンタルサーバーにSSH接続ができていました。
TeraTerm でお名前.com レンタルサーバー(RS)にSSH接続できなくなる
TeraTerm を使って、レンタルサーバーに以下の手順でSSH接続できていました。
- レンタルサーバーに対して「新しい接続」を実行する
- 「新しい接続」ダイアログ画面で接続設定をする
- 「セキュリティ警告」ダイアログ画面で接続対象を確認する
- 「SSH認証」ダイアログ画面でSSHの接続設定をする
- SSH接続が完了
各手順の以前の投稿を参照してください。
ところが、2024年のどこかで、TeraTerm を使って、お名前.com レンタルサーバー(RS) にSSH接続できなくなりました。レンタルサーバー側の設定変更で、SSH接続に必要な鍵交換アルゴリズムが変更され、そのアルゴリズムをTeraTerm v5.3がサポートしていないためでした。
バージョン5.4以降のどこかのバージョンで、curve25519-sha256系の鍵交換アルゴリズムがサポートされるのが待ち遠しいです。
ただ、TeraTermでcurve25519-sha256系の鍵交換アルゴリズムがサポートされるまでは、TeraTerm 以外の手段でSSH接続する代替手段が必要です。
今回は、その代替手段の一つとして、Windows 10/11でOSがサポートしている、sshコマンド (ssh.exe) を使った方法を説明します。
sshコマンドは、curve25519-sha256系の鍵交換アルゴリズムをサポートしています。
なお、sshコマンドはWindows 11ではリリース当初のバージョンから使えます。しかし、Windows 10ではWindows 10 Fall Creators Update(バージョン1709)以降のバージョンから使えるようになりました。
sshコマンドでお名前.com レンタルサーバー(RS)にSSH接続
Windowsに標準で利用できるsshコマンド(ssh.exe) を使ってお名前.com レンタルサーバー(RS)にSSH接続するためには、前回までに説明した、レンタルサーバー側の事前準備(すべて必要)とPC側の事前準備(一部のみ必要)が終わっている必要があります。
事前準備とは、
- お名前.com レンタルサーバーのサーバー管理画面でSSH用の秘密鍵・公開鍵の作成と登録をする
- 秘密鍵をレンタルサーバーにSSH接続したいPCに保存する。
PCにTeraTerm をインストールする(今回は TeraTerm を使わないのでこの準備は不要になります)
でした。
これらの手順を済ませておけば、sshコマンド(ssh.exe)を使って、レンタルサーバーに以下の手順でSSH接続できます。
- コマンドプロンプトを起動する
- 接続パラメータを引数で指定して、sshコマンドを実行する
- 「セキュリティ警告」で接続対象を確認する
- SSH接続が完了
各手順の詳細は以下の通りです。
接続手順
1. コマンドプロンプトを起動する
スタートボタンをクリックして、スタート画面が開いた状態で、cmd と入力します。すると「コマンドプロンプト」が候補に表示されます。この候補に表示された「コマンドプロンプト」を起動します。

なお、ここではコマンドプロンプトを使いましたが、「ターミナル」アプリでもよいです。

2. 接続パラメータを引数で指定して、sshコマンドを実行する
コマンドプロンプトが表示されたら接続先のレンタルサーバーの情報を引数で指定して、sshコマンドを実行します。
お名前.com レンタルサーバー(RS)の接続情報は、レンタルサーバー側の事前準備 で説明したときの「SSHキーの詳細情報」画面から確認できます。
ホスト名: wwwXX.onamae.ne.jp
TCPポート#: 8022
ユーザー名: rXXXXXXX
秘密鍵ファイル: サーバーに登録した公開鍵に対応する秘密鍵ファイル
なお、2024年9月時点の お名前.com レンタルサーバー(RS)では、ホスト名は、wwwXX.onamae.ne.jp の形式です。XXの部分はレンタルサーバーのインスタンスごとに異なります。
SSHのTCPポート番号は、8022 です。
ユーザー名は、2004年9月時点ではrXXXXXXX の形式(XXXXXXXの部分はレンタルサーバーの契約ごとに異なる7桁の数値)です。
秘密鍵ファイルはレンタルサーバー側の事前準備で用意した秘密鍵ファイルを指定します。事前準備でコントロールパネル上で公開鍵と秘密鍵のペアを自動生成した場合は、その時にダウンロードして保存した秘密鍵のファイルとなります。
SSH接続情報は、sshコマンドのコマンドライン引数で指定します。ホスト名は、コマンドライン引数に直接指定します。それ以外の情報は、コマンドラインオプションとして指定します。ポート番号は、コマンドラインオプションとして -p 8022 の形式で指定します。ユーザー名は、コマンドラインオプションとして、 -l rXXXXXXX の形式で指定します。秘密鍵ファイルは、コマンドラインオプションとして、 -i filePath の形式で指定します。
例えば、接続情報が
ホスト名: www99.onamae.ne.jp
TCPポート#: 8022
ユーザー名: r1234567
秘密鍵ファイル: C:\private-keys\r1234567.pem
とした場合、コマンドラインに入力するのは以下となります。
ssh www99.onamae.ne.jp -p 8022 -l r1234567 -i "C:\private-keys\r1234567.pem"

上記のように、コマンドライン引数を適切に設定してsshコマンドを実行します。
3. 「セキュリティ警告」で接続対象を確認する
過去にsshコマンドで接続したことのないホストの接続する場合、過去に接続したことあるがホスト情報を保存していなかった場合、「未知の鍵(Unknown key)」警告が表示されます。
過去にsshコマンドでこのホストに接続したことがあり、ホスト情報をKnown hostsリストに追加保存した場合には「未知の鍵(Unknown key)」警告は表示されません。
C:\Users\admin>ssh www99.onamae.ne.jp -p 8022 -l r1234567 -i "C:\private-keys\r1234567.pem"
The authenticity of host '[www99.onamae.ne.jp]:8022 ([150.95.219.81]:8022)' can't be established.
ED25519 key fingerprint is SHA256:CKuMz66gWbH7kRkzOyjD+J006QwjA3ds2UoS55FiYQc.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
内容を確認後、接続しようとしてるレンタルサーバーで間違いない場合は、yesを入力してenterキーを押します。
Warning: Permanently added '[www99.onamae.ne.jp]:8022' (ED25519) to the list of known hosts.
[r1234567@web0099 ~]$
接続しようとしているレンタルサーバーでない場合は、noを入力してenterキーを押して、接続を中断します。

4. SH接続が完了
ホストへの接続が初回の場合は、「未知の鍵(Unknown key)」警告が表示され、下記のようにレンタルサーバーにSSH接続できます。

ホストへの接続が2回目以降の場合は、「未知の鍵(Unknown key)」警告は表示されず、下記のようにレンタルサーバーにSSH接続できます。

以上がWindowsのsshコマンドを使ってSSH接続する手順でした。
TeraTermのv5.4以降の将来のバージョンで、curve25519-sha256系の鍵交換アルゴリズムがサポートされるまでは、sshコマンドを使うことにしたいと思います。