SSHの秘密鍵について

■事象
秘密・公開鍵を作成したが、ツールによって使えない。
タブが手放せないため、Poderosaをメインに使用しているが、
Redhat系でntsysvやsystem-config-networkなどのGraphical Linux toolsは、
teratermでないと文字化けというかレイアウトが崩れて困る。
また、WinSCPで鍵使おうとするとPutty形式が必要。



■原因
ツールによって鍵のフォーマットが違うことが原因。

SSH秘密鍵のフォーマットについて
○OpenSSH形式
  OpenSSHのフォーマット。秘密鍵のヘッダーに以下の文字列。
  -----BEGIN RSA PRIVATE KEY-----
○SECSH(ssh.com)形式
  オリジナルのSSHのフォーマット。OpenSSHはssh1.2.12から派生。
  秘密鍵のヘッダーに以下の文字列。
  ---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
PuTTy形式
  PuTTyのフォーマット。秘密鍵のヘッダーに以下の文字列。
  PuTTY-User-Key-File-2: ssh-rsa



■解決
PuTTyのキージェネレータで、相互に変換してやる。
WinSCP使ってたら、PuTTyのキージェネが同梱されているのでそれ使うとOK。

SCPもできてCollectorでタブ化もできるTeraTerm使うが一番の解決策って噂
というか職場ではTeraTerm使用してますが、困ることはまずないっす。

ちなみに、poderosa ver.4.3.4bだとすべてのフォーマットで接続できるぽい。

調査:ソフトウェアによる出力フォーマット

各ソフトウェアで出力できるフォーマットを調査
※暗号化箇所は「*」にしてある

TeraTerm ver.4.70
# 秘密鍵:OpenSSH 形式
-----BEGIN RSA PRIVATE KEY-----
******************************************
-----END RSA PRIVATE KEY-----
# 公開鍵:OpenSSH 形式
ssh-rsa ******************************************
poderosa ver.4.3.4b
# 秘密鍵:SECSH 形式
---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
Comment: 
******************************************
---- END SSH2 ENCRYPTED PRIVATE KEY ----
# 公開鍵:SECSH 形式
---- BEGIN SSH2 PUBLIC KEY ----
Comment: 
******************************************
---- END SSH2 PUBLIC KEY ----
# 公開鍵:OpenSSH 形式
ssh-rsa ******************************************
PuTTYgen ver.0.61
# 秘密鍵:ppk 形式
PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: rsa-key-20110809
Public-Lines: 4
******************************************
Private-Lines: 8
******************************************
Private-MAC: ******************************************
# 秘密鍵エクスポート:ssh.com 形式
---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----
Comment: "rsa-key-20110809"
******************************************
---- END SSH2 ENCRYPTED PRIVATE KEY ----
# 秘密鍵エクスポート:OpenSSH形式
-----BEGIN RSA PRIVATE KEY-----
******************************************
-----END RSA PRIVATE KEY-----
# 公開鍵:OpenSSH 形式
---- BEGIN SSH2 PUBLIC KEY ----
******************************************
---- END SSH2 PUBLIC KEY ----
CentOSUbuntuなどのLinux
# 秘密鍵:OpenSSH形式
# 公開鍵:OpenSSH形式