当社の Oracle サービスは、サーバーを Oracle Cloud に移行しています。SFTP アクセスのホストを変更する必要があります。「現在の SSH2 キーが OpenSSH キーである場合、SCP ログイン名と SSH2 キーによる認証は同じままです。」
移行はまだ行われていませんが、新しいホストに接続できます。キー ペアが OpenSSH 形式であることを確認したいのですが、これを行う方法はありますか?
答え1
質問が秘密鍵ファイルに関するものであると仮定すると、これを使ってOpenSSHssh
とsftp
クライアントの場合、それは「OpenSSH キー」であり、サーバーは実際には違いを認識できません。
フォーマットが重要になるのは、インストールサーバー上の公開鍵 (つまり、OpenSSH などに追加するときauthorized_keys
) ですが、引用されたメッセージから、それはすでに実行されている (つまり、既存の鍵が引き継がれている) ように思われるため、ここではおそらく問題になりません。
キー間の標準化はあまり行われていないファイルSSH2 で使用される形式ですが、それらはすべて「パッケージング」が異なるだけで、そこに保存される実際のデータは同じであるため、まったく同じキーを、たとえば OpenSSH と PuTTY、PKCS#8 と SSH.COM 形式間で自由に変換できます。
特に、サーバーは、あなたの側に「OpenSSHキー」があるかどうかを知る方法がありません。SSHクライアントによってネットワーク経由で送信されるものは常に標準形式で送信されます (公開キーのみが送信されます)。SSH クライアントは、使用するキー ファイル形式を読み込み、認証中にサーバーに送信される正しいネットワーク形式を自動的に生成します。
SSH ソフトウェアで使用されるキー形式のほとんどはテキストベースなので、メモ帳で開くことができます。
ssh-XXX AAAAxxxxx...
「OpenSSH 公開キー」で始まる 1 つの長い行。-----BEGIN OPENSSH PRIVATE KEY-----
最初は OpenSSH 秘密キー (「新しい形式」または「OpenSSH 形式」と呼ばれることが多い)から始まります。- 最初は
-----BEGIN PRIVATE KEY-----
、古いバージョンの OpenSSH で作成された PKCS#8 秘密キー (「PEM 形式」または「OpenSSL 形式」と呼ばれることが多い) です。 - 最初 – PKCS#8です
-----BEGIN ENCRYPTED PRIVATE KEY-----
が、パスフレーズが付いています。 -----BEGIN RSA PRIVATE KEY-----
PKCS#1 秘密キーで始まります。PKCS#8 に似ていますが、より古いものです。(これも「PEM 形式」と呼ばれることが多く、OpenSSL から来ています。)PuTTY-User-Key-File-2
PuTTY 秘密キーから始まります。- SSH.COM 公開キーから始まります
---- END SSH2 PUBLIC KEY ----
。(これは、SSH の「最高峰」を自称する商用 SSHv2 クライアント/サーバー製品です。) ---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
SSH.COM 秘密キーから始まります。
puttygen
ほとんどの場合、またはコマンドの組み合わせをssh-keygen
使用して、キーをある形式から別の形式に変換できます。