CentOS 8のサーバに公開鍵でSSH接続できなかったのはRSA形式の古い暗号鍵を使っていたから

スポンサードサーチ

VultrのHigh Frequency ComputeにCentOS 8をインストールしてUnixBenchまで行ったで書いたように、VultrにCentOS 8のサーバを新たに立ててみました。

しかし、設定を行う中でMacからの公開鍵でのssh接続はできるのに、Windows PCからは公開鍵を使ったssh接続がどうしてもできません。

他のサーバには同じ公開鍵を使ってssh接続ができているので、CentOS 8を入れた新サーバのみの現象です。

色々試した結果、設定した公開鍵の形式が古くて利用できなくなっていたのが原因でした。

発生していたエラー

Windows PCではRLoginを使って公開鍵認証でssh接続を行っていました。

その際に表示されたエラーがこちら。

RLoginでのssh接続エラーメッセージ
RLoginでのssh接続エラーメッセージ

SSH2 User Auth Failure

“publickey,gssapi-keyex,gssapi-with-mic” Status=1004
Send Disconnect Message…
publickey(ssh-rsa), gssapi-with-mic(XXX.XXX.XXX.XXX)

RLoginでのssh接続エラーメッセージ

Macで接続先のサーバに入って、sshのログを確認してみると、以下のようなエラーメッセージが記録されていました。

$ tail /var/log/secure
Jun 29 02:53:18 XXXXXX sshd[246396]:  error: userauth_pubkey: could not parse key: Invalid key length [preauth]

could not parse key(鍵を解析できませんでした):Invalid key length(無効な鍵の長さ)と出ています。

調べてみると、OpenSSH 7.0 was released on 2015-08-11に確かに以下の記載がありました。

Refusing all RSA keys smaller than 1024 bits (the current minimum is 768 bits)

OpenSSH 7.0 was released on 2015-08-11

1024ビット未満のすべてのRSA鍵は拒否されます。

Support for ssh-dss, ssh-dss-cert-* host and user keys is disabled by default at run-time. These may be re-enabled using the instructions at http://www.openssh.com/legacy.html

OpenSSH 7.0 was released on 2015-08-11

また、デフォルトでは、ssh-dss、ssh-dss-cert- *ホストおよびユーザーキーのサポートが無効になっています。

つまり、OpenSSH 7.0 以降の環境では、1024ビットの古いRSA鍵やssh–dss 鍵は使えないということです。

新たに鍵を生成

ということで、ssh接続に使える鍵を新たに作りなおすことにしました。

Windows PC用なので、PuTTY Key Generatorで作成をします。

PuTTY Key Generator
PuTTY Key Generator

PuTTY Key Generatorでは、RSA、DSA、ECDSA、Ed25519、SSH-1(RSA)が使えます。

SSH-1(RSA)のRSA1は脆弱性があり、ssh v1を使う場合のみに利用するものですので除外し、DSAは先ほどのssh-dssにあたるためこちらも除外。

RSAは、公開鍵認証でのデファクトであり鍵の長さを1024ビットよりも長くすれば利用できますが、ECDSAは、楕円曲線DSAとも呼ばれRSAよりも解読が困難で処理も早く、Ed25519は、ECDSAと同じく楕円曲線暗号を用いた方式でECDSAより処理が速い。

そこで、今回は安全面と性能面を考慮してEd25519で鍵を作成しましたが、鍵が256ビットなので作成した公開鍵もかなり短くなりました。

公開鍵を設置後、無事にssh接続完了

Ed25519で作成した公開鍵をCentOS 8のサーバに設置した後、再度RLoginでssh接続を行うと、無事に接続ができました。

AI時代だからこそ、戦略は人と一緒に考えることが、最初の一歩です。

開発やコンテンツ生成はAIが担える時代になりました。しかし、何を作るか・どこを目指すかという問いに答えるのは、依然として人の仕事です。

DX推進や新規事業の立ち上げで壁にぶつかる企業の多くは、ソリューションの導入や社内人材への丸投げに終始し、課題の本質が言語化されないまま進んでしまっています。

経営とITの両方を理解した人間が、経営者と並走しながら要求定義・要件定義の段階から一緒に考える。AIはこのプロセスを補助できますが、主役にはなれません。

まだ課題が言語化できていない段階からでも、遠慮なくご相談ください。一緒に考えます。

AIが生成できないのは「実績と信頼」

ECサイトやマーケットプレイスサイトはCS-Cart国際版(公式)という選択肢

AIはコードを書けます。しかし、長年の実運用で磨かれたロジックや、世界中の事業者が検証したセキュリティを、プロンプト一つで再現することはできません。

CS-Cart国際版(公式)は、自社EC・越境EC・BtoB EC・マーケットプレイスに対応した豊富な実績ある機能をパッケージとして提供しています。

構築コストを抑えながら、堅牢なECサイトを立ち上げることができます。

スポンサードサーチ