【鬼网络】之远程访问及控制ssh
遠程訪問及控制ssh
- 一、SSH遠程管理
- 1、定義
- 2、優點
- 3、客戶端與服務端
- 4、SSH服務的開啟、端口號和配置文件
 
- 二、配置 OpenSSH 服務端
- 1、配置文件常用設置選項
- 2、AllowUsers和DenyUsers
 
- 三、使用SSH客戶端程序
- 1、SSH遠程登錄
- 2、SCP遠程復制
- ①、下行復制
- ②、上行復制
 
- 3、sftp 安全 FTP
 
- 四、sshd服務支持兩種驗證方式
- 1、密碼驗證
- 2、秘鑰對驗證
- ①、在客戶機創建秘鑰對
- ②、將公鑰文件上傳至服務器
- ③、在服務器中導入公鑰文本(第二臺)
- ④、在客戶端使用秘鑰對驗證
- ⑤、在客戶機設置ssh代理功能,實現免交互登錄
 
 
- 五、TCP Wrappers 訪問控制
- 1、保護機制的兩種實現方式
- ①、查看程序的 libwrap.so.* 鏈接庫——ldd命令
 
- 2、TCP Wrappers 的訪問策略
- 3、TCP Wrappers 機制的基本原則
 
一、SSH遠程管理
1、定義
SSH(Secure Shell )是一種安全通道協議,主要用來實現字符界面的遠程的登錄、遠程復制等功能。
 SSH協議對通信雙方的數據傳輸進行了加密處理,其中包括用戶登錄時輸入的用戶口令。因此SSH協議具有很好的安全性。
2、優點
3、客戶端與服務端
客戶端:Putty、Xshell、CRT
 服務端:OpenSSH
- OpenSSH 是實現 SSH 協議的開源軟件項目,適用于各種 UNIX、Linux 操作系統。
- CentOS 7系統默認已安裝openssh相關軟件包,并已將 sshd 服務添加為開機自啟動。
4、SSH服務的開啟、端口號和配置文件
SSH服務的開啟
- 執行 “systemctl start sshd” 命令即可啟動 sshd 服務
 SSH服務的端口號
- sshd 服務使用的默認端口號為 22
 SSH服務的配置文件
- sshd_config 是針對服務端的配置文件
- ssh_config 是針對客戶端的配置文件
二、配置 OpenSSH 服務端
1、配置文件常用設置選項
 
 
2、AllowUsers和DenyUsers
AllowUsers和DenyUsers不能同時使用。會沖突
 
 
 
三、使用SSH客戶端程序
1、SSH遠程登錄
當用戶第一次登錄SSH服務器時,必須接受服務器發來的ECDSA秘鑰(根據提示輸入"yes")后才能繼續驗證。接收的秘鑰信息將保存到 ~/.ssh/known_hosts 文件中,密碼驗證成功后,即可登錄目標服務器的命令環境中了。
選項 說明
 -1 強制使用ssh協議版本1
 -2 強制使用ssh協議版本2
 -4 強制使用IPv4地址
 -6 強制使用IPv6地址
 -A 開啟認證代理連接轉發功能
 -a 關閉認證代理連接轉發功能
 -b 使用本機指定的地址作為對位連接的源IP地址
 -C 請求壓縮所有數據
 -F 指定ssh指令的配置文件,默認的配置文件為“/etc/ssh/ssh_config”
 -f 后臺執行ssh指令
 -g 允許遠程主機連接本機的轉發端口
 -i 指定身份文件(即私鑰文件)
 -l 指定連接遠程服務器的登錄用戶名
 -N 不執行遠程指令
 -o 指定配置選項
 -p 指定遠程服務器上的端口
 -q 靜默模式,所有的警告和診斷信息被禁止輸出
 -X 開啟X11轉發功能
 -x 關閉X11轉發功能
 -y 開啟信任X11轉發功能
2、SCP遠程復制
①、下行復制
②、上行復制
3、sftp 安全 FTP
由于使用了加密/解密技術,所以傳輸效率比普通的FTP要低,但安全性更高。
 sftp root@192.168.226.20
 root@192.168.226.20’s password:
 Connected to 192.168.226.20.
 sftp> ls
 sftp> get 文件名 #下載文件
 sftp> put 文件名 #上傳文件
 sftp> exit #退出
 
四、sshd服務支持兩種驗證方式
1、密碼驗證
對服務器中本地系統用戶的登錄名稱、密碼進行驗證。簡便,但可能會被暴力破解
2、秘鑰對驗證
要求提供相匹配的密鑰信息才能通過驗證。通常先在客戶端中創建一對密鑰文件(公鑰、私鑰),然后將公鑰文件放到服務器中的指定位置。遠程登錄時,系統將使用公鑰、私鑰進行加密/解密關聯驗證。能增強安全性,且可以免交互登錄。
 當密碼驗證、密鑰對驗證都啟用時,服務器將優先使用密鑰對驗證。可根據實際情況設置驗證方式。
 vim /etc/ssh/sshd_config
 PasswordAuthentication yes #啟用密碼驗證
 PubkeyAuthentication yes #啟用密鑰對驗證
 AuthorizedKeysFile .ssh/authorized_keys #指定公鑰庫文件
①、在客戶機創建秘鑰對
通過ssh-keygen工具為當前用戶創建密鑰對文件。可用的加密算法為RSA、ECDSA或DSA等(ssh-keygen命令的“-t”選項用于指定算法類型)。
useradd admin
 echo “123456” | passwd --stdin admin
 su - admin
ssh-keygen -t rsa
 Generating public/private ecdsa key pair.
 Enter file in which to save the key (/home/ljm/.ssh/id_rsa): #指定私鑰位置,直接回車使用默認位置
 Created directory ‘/home/admin/.ssh’. #生成的私鑰、公鑰文件默認存放在宿主目錄中的隱藏目錄.ssh/下
 Enter passphrase (empty for no passphrase): #設置私鑰的密碼
 Enter same passphrase again: #確認輸入
ls -l .ssh/id_admin* #id_rsa是私鑰文件,權限默認為600;id_rsa.pub是公鑰文件,用來提供給 SSH 服務器
②、將公鑰文件上傳至服務器
scp ~/.ssh/id_rsa.pub root@192.168.226.20:/opt
 或
 #此方法可直接在服務器的/home/admin/.ssh/目錄中導入公鑰文本
 cd ~/.ssh/
 ssh-copy-id -i id_rsa.pub zhangsan@192.168.226.20
 
③、在服務器中導入公鑰文本(第二臺)
mkdir .ssh
 ls -A
 cat /id_rsa.pub >> .ssh/authorized_keys
 cat authorized_keys
④、在客戶端使用秘鑰對驗證
ssh root@192.168.226.20
 @192.168.226.20’s password: #輸入私鑰的密碼
 
⑤、在客戶機設置ssh代理功能,實現免交互登錄
ssh-agent bash
 ssh-add
 Enter passphrass for /root/.ssh/id_rsa: #輸入私鑰的密碼
 root@192.168.226.20
五、TCP Wrappers 訪問控制
TCP Wrappers 將TCP服務程序“包裹”起來,代為監聽TCP服務程序的端口,增加了一個安全檢測過程,外來的連接請求必須先通過這層安全檢測,獲得許可后才能訪問真正的服務程序。
 大多數 Linux 發行版,TCP Wrappers 是默認提供的功能。
1、保護機制的兩種實現方式
直接使用 tcpd 程序對其他服務程序進行保護,需要運行 tcpd程序。
 由其他網絡服務程序調用 libwrap.so.* 鏈接庫,不需要運行 tcpd 程序。此方式的應用更加廣泛,也更有效率。
①、查看程序的 libwrap.so.* 鏈接庫——ldd命令
 
文件需要寫上絕對路徑
 我們不是很清楚文件的絕對路徑時,可以使用which命令查詢
 也可以兩條命令一起使用:ldd $(which sshd)
2、TCP Wrappers 的訪問策略
TCP Wrappers 機制的保護對象為各種網絡服務程序,針對訪問服務的客戶端地址進行訪問控制。
 對應的兩個策略文件為 /etc/hosts.allow 和 /etc/hosts.deny,分別用來設置允許和拒絕的策略。
 
3、TCP Wrappers 機制的基本原則
首先檢查/etc/hosts.allow文件,如果找到相匹配的策略,則允許訪問;
否則繼續檢查/etc/hosts.deny文件,如果找到相匹配的策略,則拒絕訪問;
如果檢查上述兩個文件都找不到相匹配的策略,則允許訪問。
允許所有,拒絕個別
 只需在/etc/hosts.deny文件中添加相應的拒絕策略
允許個別,拒絕所有
 除了在/etc/hosts.allow中添加允許策略之外,還需要在/etc/hosts.deny文件中設置“ALL:ALL”的拒絕策略。
4、示例
 只希望從IP地址為12.0.0.1的主機或者位于192.168.80.0/24網段的主機訪問sshd服務,其他地址被拒絕。
 vi /etc/hosts.allow
 sshd:12.0.0.1,192.168.80.*
 
vi /etc/hosts.deny
 sshd:ALL
總結
以上是生活随笔為你收集整理的【鬼网络】之远程访问及控制ssh的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 【鬼网络】之部署YUM仓库大全
- 下一篇: 【鬼网络】之NFS共享服务
