在需要通過遠端登入伺服器的時候,雖然可以通過 ssh [email protected]然後輸入密碼的方式登入,但是更為常用的是通過sshkey來登入
我伺服器用的是centos7(virtualbox虛拟)
确認安裝ssh服務,centos7預設就有的。如果沒有請自行安裝
修改配置檔案 /etc/ssh/sshd_config
找到RSAAuthentication和PubkeyAuthentication兩項配置,将值改為yes(注意去掉前面的注釋符号#)
将你的公鑰的内容寫到 ~/.ssh/authorized_keys中
重新開機ssh服務
sudo systemctl stop sshd
sudo systemctl start sshd
或者直接用 restart
在本地機器上添加配置
Host c7
HostName 192.168.56.102
Port 22
User lee
IdentityFile ~/.ssh/id_rsa_a
這裡的Host後面的名字随便取,不必像配置git的時候要和HostName一樣了 User是伺服器上的使用者名
此時再登入的時候不必再用 ssh [email protected]的友善來登入了,而是
ssh c7 (c7就是Host後面的名字)
如果要禁止使用者以使用者名密碼的方式登入伺服器,可以修改伺服器上的ssh配置檔案
找到 PasswordAuthentication 将值 改為no,重新開機sshd,本地就無法通過 ssh [email protected]的方式來登入了
用的虛拟機測試的時候,請注意虛拟機和本地機器是否能互通,以及伺服器的防火牆設定