1. 程式人生 > >SSH遠程管理常用的幾種配置

SSH遠程管理常用的幾種配置

通信 系統 -a cat grep rac users 主配置文件 ces

一、關於SSH(Secure Shell)

1、SSH是一種安全性通道協議,主要用來實現字符界面的遠程登錄、遠程復制等功能。
2、SSH協議對通信雙方的數據傳輸進行了加密處理,其中包括用戶登錄時輸入的用戶口令。
3、與早期的telnet(遠程登錄)、rsh(Remote Shell,遠程執行命令)、rcp(Remote File Copy,遠程復制)等應用相比,SSH協議提供了更好的安全性。
4、OpenSSH是實現SSH協議的開源軟件項目,適用於各種UNIX、Linux操作系統。

二、配置OpenSSH服務端

1、首先確認安裝客戶端和服務端的程序
rpm -qa | grep open
技術分享圖片
2、編輯OpenSSH的主配置文件


vi /etc/ssh/sshd_config
下面是配置文件中的一部分配置:

#LoginGraceTime 2m      ===登錄寬限時間  
#PermitRootLogin yes     ===允許root登陸
#StrictModes yes         ===開啟精確模式
#MaxAuthTries 6         ===最大授權嘗試次數
#MaxSessions 10         ===最大連接數
#PermitEmptyPasswords no  ===禁止空密碼用戶

3、禁止root用戶登錄
38行 #PermitRootLogin yes 將其改為no
技術分享圖片
重啟服務客戶端驗證root用戶登錄

systemctl restart sshd
技術分享圖片
4、允許tom和jack登錄
在上述配置末加上允許列表:AllowUsers jack tom //允許Jack、tom登錄
技術分享圖片
添加tom和jack用戶

useradd jack;echo 123123 |passwd --stdin jack
useradd tom;echo 123123 |passwd --stdin tom

技術分享圖片
重啟sshd服務驗證登錄(列舉jack)
Win+r打開cmd輸入
ssh -p 22 [email protected]
技術分享圖片
5、開啟wheel組增加安全性
上述添加jack用戶可以登錄,且可以切換root用戶,具有安全漏洞如下圖:
技術分享圖片
進入/etc/pam.d/su切換配置文件中開啟wheel組

vi /etc/pam.d/su //在root用戶下修改,否則無權限
技術分享圖片
重啟服務驗證jack用戶無法切換root
技術分享圖片
6、公鑰私鑰驗證
1).一個公鑰對應一個私鑰。
2).密鑰對中,讓大家都知道的是公鑰,不告訴大家,只有自己知道的,是私鑰。
3).如果用其中一個密鑰加密數據,則只有對應的那個密鑰才可以解密。
4).如果用其中一個密鑰可以進行解密數據,則該數據必然是對應的那個密鑰進行的加密。
vi /etc/ssh/sshd_config //root下更改
開啟服務器的密鑰驗證選項:

PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

技術分享圖片
systemctl restart sshd //重啟服務
添加lisi用戶綁定服務器上的tom

useradd lisi;echo "123123" | passwd --stdin lisi    //lisi用戶作為客戶端
su - lisi   //切換到lisi
ssh-keygen -t rsa   //采用rsa加密算法加密

技術分享圖片
查看密鑰對(id_rsa為私鑰,id_rsa.pub為公鑰成對出現)
ls /home/lisi/.ssh
技術分享圖片
將公鑰上傳至tom服務器
ssh-copy-id -i id_rsa.pub [email protected]
在服務器tom查看文件

su - tom
ls /home/tom/.ssh

技術分享圖片
服務器關閉密碼認證vi /etc/ssh/ssh_config 將passwordAuthentication yes改為no,重啟服務,這樣其他用戶要想登錄tom服務器必須將私鑰發給他才能成功登錄,否則無法登錄。
7、免密登錄:代理(不安全)
在客戶端lisi用戶下面配置

ssh-agent bash
ssh-add

輸入密鑰密碼
代理成功!無密碼直接登錄服務器tom!
技術分享圖片

SSH遠程管理常用的幾種配置