我的 Raspberry Pi 運行預設的 Debian 映像並啟用了 SSH。我如下登入我的 Pi:
ssh pi@<IP-address-of-my-Pi>
我每次都必須輸入密碼。我可以以某種方式讓我的 Pi 接受來自本地電腦的登入嗎?我正在運行 Fedora Linux。
答案1
是的,您可以使用 SSH 對 Raspberry Pi 自動進行身份驗證。
作為先決條件,需要滿足以下條件:
- 你有在 Pi 上啟用 SSH。
- 您知道 Pi 的 IP 位址。
Linux
在 Linux 下,您可以透過套件管理器安裝 SSH,使用 產生金鑰對ssh-keygen
,使用 複製金鑰到 Pissh-copy-id
並使用 進行測試ssh
。
在 Linux 上安裝 SSH
大多數 Linux 發行版都預先安裝了 SSH 用戶端。如果您由於某種原因沒有,請使用套件管理器安裝它:
對於基於 RPM 的 Linux 發行版(例如 Fedora 和 Suse):
sudo yum install ssh
對於基於 DEB 的 Linux 發行版(例如 Debian 和 Ubuntu):
sudo apt-get install ssh
在 Linux 上產生金鑰對
首先,您需要一個公鑰/私鑰對。因此,如果您沒有,請執行以下命令以使用預設設定產生金鑰對。
$ ssh-keygen
generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
24:55:ee:67:83:72:82:55:5f:b9:b4:09:2a:fa:56:a1 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| + . |
| S E |
| . + + |
| .o . o.|
| o.oo. oo|
| ==o.BO+|
+-----------------+
將公鑰複製到 Linux 上的 Pi
其次,您需要將產生的公鑰複製到您想要無密碼登入的電腦。因此,在電腦上執行以下命令,並且作為用戶,您希望能夠存取 Pi:
$ ssh-copy-id pi@<IP-address-of-your-Pi>
Password:
Now try logging into the machine, with "ssh 'pi@<IP-address-of-your-Pi>'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
在 Linux 上透過 SSH 連接到 Pi
最後,使用 SSH 登錄,以驗證是否不需要密碼:
$ ssh pi@<IP-address-of-your-Pi>
答案2
檢查您嘗試複製的檔案的權限,確保您透過 ssh 登入的使用者有權讀取這些檔案。