說明
Linux下有一個遠程登陸shell的方法:ssh。只要開啟了這個service(sshd),就可以從別的客戶機遠程登陸(無論是從Linux還是windows)。
登陸方法有兩種:
-
密碼登陸
-
公鑰認證,雙方各持公鑰,客戶機持私鑰
密碼登陸
采用密碼登陸只需要服務器開啟了sshd服務。可以通過以下方法驗證及開啟:
-
在CentOS 7下輸入:
systemctl status sshd.service
驗證;status改成start開啟 -
其它低級系統輸入:
service sshd status
驗證。
Linux系統登陸
服務器滿足條件后,如果客戶端是Linux系統,則輸入:
ssh -l root 192.168.11.214 -p 22
解釋:
-
-l root 代表用root用戶登陸
-
后面跟ip地址,-p代表端口號,sshd服務的端口號是22
windows系統登陸
采用SecureCRT就可以了。
公鑰登陸
我是采用RSA加密的公鑰/私鑰。這對秘鑰由客戶端生成,然后將公鑰發給服務端,之后就可以用公鑰登陸了。
服務端設置
先 vim /etc/ssh/sshd_config ,打開這兩個配置:
RSAAuthentication yes
PubkeyAuthentication yes
如果想禁止密碼登陸,設置:
PasswordAuthentication no
將客戶端發來的公鑰追加到~/.ssh/authorized_keys
下面(公鑰生成見下文):
cat key.pub >> ~/.ssh/authorized_keys
echo >> ~/.ssh/authorized_keys #輸入一個回車,以便下次追加從新的一行開始
然后重啟sshd服務:
systemctl restart sshd.service
# service sshd start
Linux系統登陸
先生成秘鑰:
ssh-keygen -t rsa
不需要輸入密碼,連續三次回車生成成功。然后把公鑰發給服務端。
輸入登陸命令:
ssh -l root 192.168.11.214 -p 22
windows系統登陸
使用SecureCRT生成秘鑰:工具->創建公鑰,一些關鍵步驟是:
-
密鑰類型選擇RSA
-
密鑰格式選擇OpenSSH
-
可以自定義密鑰名
其余保持默認即可。
然后把公鑰發給服務端。
之后登陸選項中把公鑰登陸勾上就可以了: