SSH 尋找 id_rsa-cert 獲取 key_load_public 錯誤
1)我的
~/.ssh
文件夾有權限:drwx------. 2 user user 4.0K Aug 19 15:39 .ssh
我執行
ssh-keygen -t rsa
並獲取預設文件 id_rsa 和 id_rsa.pub。我將我的
id_rsa.pub
密鑰複製/粘貼到 GitHub SSH 密鑰4)嘗試通過連接時,
ssh -i id_rsa -vT git@github.com
我得到以下資訊:
OpenSSH_7.5p1, OpenSSL 1.1.0f-fips 25 May 2017 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Reading configuration data /etc/ssh/ssh_config.d/05-redhat.conf debug1: Reading configuration data /etc/crypto-policies/back-ends/openssh.config debug1: /etc/ssh/ssh_config.d/05-redhat.conf line 8: Applying options for * debug1: Connecting to github.com [192.30.253.113] port 22. debug1: Connection established. debug1: identity file id_rsa type 1 debug1: key_load_public: No such file or directory debug1: identity file id_rsa-cert type -1 debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_7.5
我對如何生成
id_rsa-cert
文件有疑問。我試過
openssl rsa -in ~/.ssh/id_rsa -outform pem > id_rsa-cert
和
openssl req -x509 -key ~/.ssh/id_rsa -nodes -days 9999 -newkey rsa:2048 -out id_rsa-cert
它沒有用。有小費嗎?
我對如何生成 id_rsa-cert 文件有疑問。
你不需要它,當然也不需要 github 訪問。客戶端正在尋找一個以這種方式命名的文件,但這並不意味著正常的 SSH 密鑰身份驗證需要它。為此,您提供的普通 RSA 密鑰就足夠了。
該
id_rsa-cert
文件通常由系統管理員複製到其正確位置。僅當您的
ssh
基礎架構需要由證書頒發機構簽名的伺服器和客戶端密鑰時才需要。我只遇到過一個使用這種安全級別的實體(軍事)。大多數實體不會使用此功能。僅當 IT 中的某人超級偏執(軍事)時才需要。有關 SSH 密鑰基礎架構的更多資訊,請點擊以下連結。不可否認,這是一篇相當古老的文章。儘管它的相對年代,它仍然適用和相關。