SSH遠程訪問和控制

語言: CN / TW / HK

theme: github

攜手創作,共同成長!這是我參與「掘金日新計劃 · 8 月更文挑戰」的第8天點擊查看活動詳情

SSH簡介

  • SSH(Secure Shell)是一種安全通道協議,主要用來實現字符界面的遠程登錄、遠程複製等功能。

  • SSH協議對通信雙方的數據傳輸進行了加密處理,其中包括用户登錄時輸入的用户口令。因此SSH協議具有很好的安全性

- SSH客户端: Putty、 Xshell、 CRT

-  SSH服務端: OpenSSH

  • OpenSSH 是實現SSH 協議的開源軟件項目,適用於各種UNIX、Linux 操作系統

  • Centos 7系統默認已安裝openssh相關軟件包,並已將sshd 服務添加為開機自啟動

  • 執行“systemctl start sshd" 命令即可啟動sshd 服務

  • sshd服務默認使用的是TCP的22端口

  • sshd服務的默認配置文件是/etc/ssh/sshd_config

  • ssh_config和sshd_config都是ssh服務器的配置文件,二者區別在於前者是針對客户端的配置文件,後者則是針對服務端的配置文件

sshd_config常用配置參數

image.png

SSH優點

  • 數據傳輸是加密的,可以防止信息泄漏(安全)

  • 數據傳輸是壓縮的,可以提高傳輸速度(快速)

SSH遠程登錄

  • ssh [遠程主機用户名]@[遠程服務器主機名或IP地址] [-p port]

image.png 查看ip

image.png - 若端口號被修改,需要添加-p 端口號登錄

image.png

image.png

image.png - 用主機三遠程登錄主機四

image.png

image.png

SCP遠程複製

推送(從本主機複製文件到目標主機)

  • scp 文件(目錄加-r) 用户@ip:保存地址

image.png 在主機四的opt目錄下查看abc.txt

image.png

拉取(從目標主機複製文件到本主機)

  • scp 用户@ip文件或目錄 保存路徑

image.png 在主機三的/opt 目錄下查看

image.png

設置免密碼登錄

  • 客户端使用命令生成密鑰文件

家目錄 ~/.ssh/ 下會生成兩個密鑰文件,一個公鑰一個私鑰,.pub結尾的是公鑰

image.png

  • 去家目錄下查看密鑰文件

image.png - 將客户端的公鑰文件拷貝到服務端。 - ssh-copy-id -i /root/.ssh/id_ecdsa.pub root@ip

image.png

  • 測試遠程連接服務端時,是否免密碼

image.png

TCP Wrappers 訪問控制

  • 將TCP服務程序“包裹”起來,代為監聽TCp服務程序的端口,增加了一個安全檢測過程,外來的連接請求必須先通過這層安全檢測,獲得許可後才能訪問真正的服務程序

  • 大多數Linux 發行版,TCP Wrappers 是默認提供的功能。rpm -q tcp_wrappers

TCP Wrappers 保護機制

兩種實現方式:

  • 直接使用tepd程序對其他服務程序進行保護,需要運行tcpd程序
  • 由其他網絡服務程序調用libwrap.so. *鏈接庫,不需要運行tcpd 程序。此方式的應用更加廣泛,也更有效率

使用ldd命令可以查看程序的libwrap.so. *鏈接庫\ ldd $ (which ssh)

TCPWrappers機制的基本原則

  1. 首先檢查/etc/hosts.allow文件, 如果找到相匹配的策略,則允許訪問
  2. 否則繼續檢查/etc/hosts.deny文件,如果找到相匹配的策略,則拒絕訪問
  3. 如果檢查上述兩個文件都找不到相匹配的策略,則允許訪問

  4. 允許所有,拒絕個別——黑名單

只需在/etc/hosts.deny文件中添加相應的拒絕策略(系統默認的就是允許所有)

  • 允許個別,拒絕所有——白名單

除了在/etc/hosts .allow中添加允許策略之外,還需要在/etc/ hosts .deny文件中設置"ALL:ALL"的拒絕策略

「其他文章」