
我的 android 4.4.2(它很舊,但無法升級)手機透過 SimpleSSHD 應用程式運行 SSH 伺服器。它在每次登入時都會產生不同的隨機密碼,因此對於我作為客戶端使用者來說非常不方便。所以我想使用公鑰身份驗證。
之前我已經產生了一對公鑰和私鑰來存取 SSH 伺服器。我猜重複使用金鑰對是可以的,所以我將公鑰檔案複製到android手機:
$ ssh-copy-id -p 2222 192.168.1.87
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/t/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
restorecon: invalid option -- F
usage: restorecon [-nrRv] pathname...
之後我仍然需要輸入伺服器產生的隨機密碼才能登入。
複製公鑰檔案到android手機不行嗎?
公鑰檔案應該放在 Android 手機上的哪個目錄中?
謝謝。
答案1
這不是安卓的問題。我相信輸入金鑰的約定~/.ssh/authorized_keys
來自 OpenSSH。我不相信它是標準(RFC)的一部分。簡單SSHD有不同的約定:
快速開始
- 安裝 SimpleSSHD。
在任何要連接到 Android 裝置的電腦上,將連接埠設定為 2222。
Host myphone Port 2222
啟動 SimpleSSHD,並在“設定”中啟用“啟動時啟動”,然後首次手動啟動它。
- 在主目錄中建立
authorized_keys
(不要使用ssh-copy-id
)- 可選擇製作 .profile
由此推斷,您的授權密鑰檔案~/authorized_keys
不應該是~/.ssh/authorized_keys
.
ssh-copy-id
似乎假設每個伺服器都是 OpenSSH 伺服器。由於您已經使用設定了公鑰ssh-copy-id
,我只需登入並運行:
mv ~/.ssh/authorized_keys ~