您好,登錄后才能下訂單哦!
SSH是一種安全通道協議,主要用來實現字符界面的遠程登錄、遠程復制等功能。SSH 協議對通信雙方的數據傳輸進行了加密處理,其中包括用戶登錄時輸入的用戶口令。與早期的 Telent、RSH、RCP等應用相比,SSH 協議提供了更好的安全性。
現在我們是使用的XShell與服務器連接的,那么sshd服務就應該是處于運行的,下面我們用“netstat -ntap | grep 22”命令進行查看。
下面我們進入sshd的配置文件多其中的一些配置行進行了解。
Port 22: 監聽端口號
ListenAddress 0.0.0.0: 監聽地址
LoginGraceTime 2m: 登錄驗證時間為 2 分鐘
PermitRootLogin yes: 允許root用戶登錄
MaxAuthTries 6: 驗證登錄時最大重試次數為 6
MaxSessions 10:訪問最大連接數
PubkeyAuthentication yes:開啟秘鑰驗證
開啟22端口(去掉行首的“#”號)
輸入命令“systemctl restart sshd”重啟sshd服務下面我們使用另一臺服務器test02對服務器test01進行遠程控制。
cd /opt/(在test02遠程連接的情況下進入test01的opt目錄下)
touch aaa.txt(并創建文件aaa.txt成功)
ls(查看文件是否創建成功)
cd /opt/(返回test01并進入opt目錄下)
ls(查看遠程創建結果)
但是root的權限畢竟太高,隨便誰都可以遠程連接,難免安全風險過高。所以下面我們設置root用戶禁止登錄。
首先進入sshd配置文件,修改配置行PermitRootLogin no(禁止root用戶登錄)
systemctl restart sshd(重啟sshd服務)
創建一個新用戶tom
useradd tom(創建用戶tom)
passwd tom(設置密碼)
此時我們再在另一臺服務器上輸入“ssh root@192.168.131.133”,root已經不能登錄了。
但方法總比困哪多。我們可以先試用tom用戶登錄在切換到root
ssh tom@192.168.131.133
su - root
所以光禁止root用戶登錄并不能完全解決我們的安全隱患。
我們可以進入pam.d模塊進行相關安全的修改。(vim /etc/pam.d/su)
啟動wheel組,刪除行首的“#”號即可
從上面我們可以得知用戶tom并不屬于wheel組,所以此時wheel組已經不能再隨意切換到root助理,只有屬于wheel組的用戶可以切換到root用戶,無疑是增加了我們的服務器安全系數。
為了防止破解,我們還可以對我們的驗證登錄的最大重試次數進行設置,我們首先進入sshd配置文件開啟最大驗證次數的配置行(去除行首的“#”即可)。
修改完配置文件記得重啟服務。“systemctl restart sshd”
但是我們實際驗證時發現,因為服務器默認的最大驗證次數是3次,所以我們的設置并未起到作用。
若是想配置起到作用我們需要執行命令“ssh -o NumberOfPasswordPrompts=8 fan@192.168.131.133”。
為了進一步加強我們的服務器安全,我們還可以設置黑白名單。
AllowUsers 用戶1 用戶2(允許登陸的用戶)
或者 DenyUsers 用戶1 用戶2(禁止登錄的用戶)
兩條命令不可以同時使用,還可以同時限制用戶的登錄地址
下面我們以白名單AllowUsers進行舉例。
在sshd的配置文件中添加配置行“AllowUsers fan@192.168.131.129 jerry”(允許用戶fan登錄固定ip的服務器,允許用戶jerry登錄所有服務器)。
ssh fan@192.168.131.133(fan用戶可以登錄)
ssh jerry@192.168.131.133(jerry用戶可以登錄)
ssh tom@192.168.131.133(tom用戶無法登陸)
只有在白名單的用戶才可以登錄。二、sshd密鑰對登錄
開啟秘鑰驗證配置行“PubkeyAuthentication yes”。
此時我們的服務器用戶目錄中并沒有秘鑰的配置文件。
進入到客戶單創建新用戶kefu。
在客戶端創建秘鑰“ssh-keyqen -t ecdsa”
輸入秘鑰驗證的密碼:自己定義
ls(查看秘鑰文件是否創建成功)
ssh-copy-id -i id-ecdsa.pub fan@192.168.131.133(把秘鑰文件推送給服務端)
yes(確認推送)
輸入用戶fan的登錄密碼
這時我們在用戶fan的家目錄就可以找到.ssh秘鑰文件了。
下面我們就可以嘗試使用密鑰登陸了,這時登錄的驗證方式的密碼就是我們剛才設置的密鑰對密碼。
對于常用到的用戶我們還可以對其設置免密碼登錄:ssh-agent bash
ssh-add
輸入密鑰對密碼
以后我們的kefu用戶就可以免密碼登錄遠程服務器了。三、scp、sftp命令程序
在客戶端分別創建文檔“ssh_client”和文件夾“test”
之后我們把文檔tssh_client和文件夾test遠程復制到服務器端。
進入服務端的及目錄查看復制結果
使用命令“sftp root@192.168.131.133”在客戶端遠程交互服務器的文檔管理
get ssh_client :可以從遠程服務器下載文檔ssh_client。
up ssh_server:可以遠程上傳文檔ssh_server到服務器。
TCP Wrappers 機制的保護對象為各種網絡服務程序,針對訪問服務的客戶端地址進行
訪問控制。對應的兩個策略文件為/etc/hosts.allow 和/etc/hosts.deny,分別用來設置允
許和拒絕的策略。關于 TCP Wrappers 機制的訪問策略,應用時遵循以下順序和原則:首先檢查/etc/hosts.allow 文 件 , 如 果 找 到 相 匹 配 的 策 略 ,則 允 許 訪 問 ; 否 則 繼 續 檢 查/etc/hosts.deny 文件,如果找到相匹配的策略,則拒絕訪問;如果檢查上述兩個文件都找不到相匹配的策略,則允許訪問。
只希望從 IP 地址為192.168.131.129主機 訪問 sshd 服務,其他地址被拒絕,可以執行以下操作
vim /etc/hosts.allow (進入白名單策略文件)
sshd:192.168.131.129(輸入允許登錄的主機IP)
:wq(保存并退出)
vim /etc/hosts.deny(進入黑名單策略文件)
sshd:ALL(禁止所有)
:wq(保存并退出)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。