
在嘗試為專案目錄內的專案建立 rsa 金鑰對時,我正在嘗試ssh-keygen
的-f
選項。當我在新建立的目錄中測試它時,一切都按預期工作,但是當我嘗試在另一個具有同等權限的目錄上使用完全相同的語法時,ssh-keygen
只會不斷告訴我No such file or directory.
在某種程度上,這樣說是正確的,因為它應該創建這些文件。 (它應該工作的目錄存在。)
我用於建立密鑰的語法是:
ssh-keygen -q -t rsa -f /abspath/id_rsa -N ""
答案1
除非我指定一個實際不存在的目錄,否則我無法重新建立此問題。我建議您查看嘗試建立金鑰對的位置,確保該目錄存在。
答案2
首先,您需要建立一個目錄來儲存您的主機金鑰檔案:
$ mkdir -p $HOME/.ssh/mykey
其次,根據密鑰類型,您可以在以下位置重新建立主機密鑰檔案$HOME/.ssh/mykey
:(選擇一個)
$ ssh-keygen -t rsa -f $HOME/.ssh/mykey/rsa_key_file
或者
$ ssh-keygen -t dsa -f $HOME/.ssh/mykey/dsa_key_file
或者
$ ssh-keygen -t ecdsa -f $HOME/.ssh/mykey/ecdsa_key_file
或者
ssh-keygen -t ed25519 -f $HOME/.ssh/mykey/ed25519_key_file
最後,驗證金鑰是否已成功產生:
$ ls -l $HOME/.ssh/mykey/