我正在嘗試使用Java代碼中的JSch庫(kù)將SSH SSH到EC2。我在SO中提到了此鏈接。如何使用JSch庫(kù)在ec2連接中將.pem文件內(nèi)容用作字符串,并嘗試了下面提到的幾件事,但沒(méi)有成功。有人可以指導(dǎo)我如何實(shí)現(xiàn)我的目標(biāo)嗎?客觀的我有一個(gè)像這樣的PEM文件。我不想將我的PEM文件存儲(chǔ)在AWS的任何位置,因此我的方法是提取一個(gè)等效字符串,我可以對(duì)其進(jìn)行編碼和存儲(chǔ)在數(shù)據(jù)庫(kù)中,然后從Java對(duì)其進(jìn)行解碼,以將參數(shù)傳遞給addIdentity采用這些參數(shù)的方法:addIdentity(String name, byte[] prvkey, byte[] pubkey, byte[] passphrase) throws JSchException-----BEGIN RSA PRIVATE KEY-----MIIepsdfAIBAAKCAQEAtBk068z...xVNdhlDy6asdk9wsdQ==-----END RSA PRIVATE KEY-----為了我的目標(biāo),我addIdentity相信我的方法是這樣的:addIdentity ("username","{privatekey string converted to byte array}",null, null)我試圖了解如何形成字符串?我對(duì)密碼學(xué)非常陌生,但是在此過(guò)程中,我了解到由于PEM具有BEGIN RSA PRIVATE KEY,它是PKCS1格式。JSch是否支持PKCS1格式,或者需要將其轉(zhuǎn)換為PKSC8?其次,我了解到主體是使用Base64編碼的,因此我什至在剝離所有回車(chē)符,頁(yè)眉和頁(yè)腳后甚至嘗試使用Base64解碼字符串,這給了我這樣的錯(cuò)誤線(xiàn)程“主”中的異常java.security.spec.InvalidKeySpecException:java.security.InvalidKeyException:IOException:algid解析錯(cuò)誤,而不是序列
如何使用JSch庫(kù)將PEM文件轉(zhuǎn)換為ssh到ec2的字符串
千萬(wàn)里不及你
2021-03-29 17:09:28