Linux伺服器使用ssh連線 實現免登陸
參考資料
-
SSH的工作原理是將客戶端程式連線到ssh伺服器
Ubuntu(Centors類似 命令有所不同)
1.主配置檔案於/etc/ssh/sshd_config 2.Port 22 埠宣告指定sshd伺服器將偵聽連線的埠 如需更改埠 直接新增後 測試完成 再刪除 22 3.PermitRootLogin 選擇是否允許root登入 4.LoginGraceTime 指定在未成功登入的情況下保持連線活動的秒數 [root@7S ssh]# sudo service ssh restart 重啟服務 [root@7S ssh]# sudo systemctl restart ssh
-
如何使用金鑰登入SSH
[root@7S ssh]# systemctl stop firewalld.service //關閉防火牆
[root@7S ssh]# systemctl is-enabled firewalld.service //檢視防火牆狀態
enabled
[root@7S ssh]# firewall-cmd --zone=public --add-port=1212/tcp --permanent 新增 放行埠 1212
FirewallD is not running // 防火牆關閉
[root@7S ssh]# systemctl restart firewalld.service //啟動
[root@7S ssh]# firewall-cmd --zone=public --add-port=1212/tcp --permanent //繼續新增
success
[root@7S ssh]# firewall-cmd --zone=public --list-ports //檢視所有埠
-
建立SSH金鑰(本地的計算機上生成SSH金鑰)
[root@7S ssh]# ssh-keygen -t rsa //建立 按 Enter 鍵接受預設值 (Mac)金鑰在〜/.ssh/id_rsa.pub和〜/.ssh / id_rsa中 (window 系統不一樣 Admin檔名不一樣) /C/users/Admin/.ssh/id_rsa
-
ssh-copy-id root@192.168.100.00 //將公鑰複製到遠端伺服器 輸入密碼 下次不需要使用密碼 即可登入
-
更改 埠 登入
$ ssh -p 1212 root@192.168.100.00 -
安全考慮 禁用密碼驗證
[root@7S ssh]# /etc/ssh/sshd_config // PasswordAuthentication no //去掉註釋 改為 no // PubkeyAuthentication yes // 預設不修改 // ChallengeResponseAuthentication no // 預設不修改
-
sudo systemctl restart ssh //重啟服務 如有錯誤 關閉SELinux 或者 向SELinux中新增修改的SSH埠(如下)
- 安裝semanage
semanage是SELinux的管理工具,是用於向SELinux新增和修改ssh埠號
- 安裝依賴
[root@7S ssh]# yum install policycoreutils-python
- 安裝semanage
[root@7S ssh]# yum provides semanage
2:使用semanage向SELinux中新增我們剛剛新增的埠號(1212)
查詢當前 ssh 服務埠:[root@7S ssh]# semanage port -l | grep ssh
向 SELinux 中新增我們需要新增的ssh埠(1212):[root@7S ssh]# semanage port -a -t ssh_port_t -p tcp 1212
驗證 ssh 埠是否新增成功:[root@7S ssh]# semanage port -l | grep ssh
重啟 ssh 服務:[root@7S ssh]# systemctl restart sshd.service
第二種方法:
-
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.100.000 //將本機的id_rsa.pub公鑰檔案內容複製到遠端目標機的.ssh/authorized_keys檔案中
-
本地複製: scp .ssh/id_rsa.pub user@192.168.1.100:/home/root/
伺服器操作:
[root@7S ssh]# mkdir -p /home/root/.ssh/ [root@7S ssh]# mv /home/root/id_rsa.pub /home/root/.ssh/authorized_keys //authorized_keys 必須如此命名
登入即可
本作品採用《CC 協議》,轉載必須註明作者和本文連結