遠端訪問及控制——ssh
遠端訪問及控制——ssh
ssh
ssh是什麼
- 是一種安全通道協議
- 對通訊資料進行了加密處理,用於遠端管理
- 服務名稱:sshd
- 服務端主程式: /usr/sbin/sshd
- 服務端配置檔案: /etc/ssh/sshd_config
使用者登入控制
AllowUsers zhangsan lisi@192.168.100.11
#表示只允許zhangsan登入,lisi在192.168.100.11主機上登入
PermitRootLogin no#空密碼登入
LoginGraceTime 2m#限制登入時間為2分鐘
MaxAuthTries 6#限制重試次數為6次
PasswordAuthentication yes#啟用密碼驗證,密碼對驗證
PubkeyAuthentication yes#指定公鑰庫位置
遠端命令
ssh user@host -p 埠號#遠端安全登入
scp user@host:file1 file2#將目標主機中的file1檔案複製到本主機重命令為file2(下載)
scp file1 user@host:file2#將本主機上的file1檔案複製到目標主機上重新命名為file2(上傳)
sftp user@host#安全FTP上下載(登入的為user的家目錄)
構建ssh金鑰
構建金鑰對驗證的ssh體系
- 建立金鑰對
私鑰檔案:id_rsa
公鑰檔案:id_rsa.pub - 上傳公鑰檔案
id_rsa.pub - 匯入公鑰資訊
公鑰庫檔案:/home/lisi/.ssh/authorized_keys - 使用金鑰對驗證方式
- 即以服務端的使用者lisi的身份進行登入
ssh-keygen命令
- 可用的加密演算法:RSA、ECDSA或DSA
ssh-keygen -t ecdsa
scp ~/.ssh/id_ecdsa.pub root@172.16.16.22:/tmp
mkdir /home/lisi/.ssh
cat /tmp/id_ecdsa.pub >> /home/lisi.ssh/authorized_keys
tail -l /home/lisi/.ssh/authorizedz-keys
客戶端使用金鑰對驗證登入
- 驗證使用者:伺服器的使用者
- 驗證密碼:客戶端的使用者的私鑰短語
免密登入
免密登入即代理,有一定的安全風險,但是使用者伺服器對客戶機的控制比較方便管理。有密碼的情況下需要輸入 ssh-agent bash ,沒有就不用了。
- 伺服器上輸入 :ssh-keygen -t rsa
- 伺服器上輸入:ssh-copy-id 192.168.188.130(客戶機ip)
- 伺服器上輸入: ssh-agent bash (如果設定的時候沒有設定密碼,此步驟可以省略)
- 伺服器上輸入:ssh- add
- 輸入密碼金鑰
代理成功!無密碼直接登入! - ssh root@192.168.188.130
Tcp Wrappers
保護機制的實現方式
- 方式1:通過tcpd程式對其他服務程式進行包裝
- 方式2:由其他服務程式呼叫libwrap.so.*連結庫
訪問控制策略的配置檔案
/etc/hosts.allow #相當於白名單
/etc/hosts.deny #相當於黑名單
設定訪問控制策略
- 策略格式:服務程式列表:客戶端地址列表
- 服務程式列表
多個服務以逗號分隔,ALL表示所有服務 - 客戶端地址列表
多個地址以逗號分隔,ALL表示所有列表
允許使用萬用字元?和*
網段地址,如192.168.10._ 或者192.168.2.0/24
區域地址,如 .benet.com
TCP Wrappers策略應用
- 檢查hosts.allow,找到匹配則允許訪問
- 再檢查hosts.deny,找到則拒絕訪問
- 若兩個檔案中均無匹配策略,則預設允許訪問
相關文章
- SSH遠端訪問及控制
- 02_3_配置SSH遠端訪問及控制
- Linux SSH遠端訪問Linux
- Debian系統上怎麼配置SSH遠端訪問
- windows terminal ssh 免密訪問遠端伺服器Windows伺服器
- 威聯通NAS VirtualizationStation 安裝ubuntu配置SSH遠端訪問Ubuntu
- TeamViewer遠端訪問View
- ssh控制遠端裝置連線wifiWiFi
- Go實現ssh執行遠端命令及遠端終端Go
- jupyter notebook 遠端訪問
- 基於SSH遠端訪問WSL2(非長期穩定版本)
- rabbitmq 新增遠端訪問功能MQ
- SSH遠端指南
- 使用 Frp 和 Docker 通過遠端桌面和 SSH 來遠端控制 Windows(反向代理)FRPDockerWindows
- Git 安全遠端訪問:SSH 金鑰對生成、新增和連線步驟解析Git
- 使用frp進行內網穿透,實現ssh遠端訪問Linux伺服器FRP內網穿透Linux伺服器
- 01 . Go語言實現SSH遠端終端及WebSocketGoWeb
- mysql賬戶新增遠端訪問MySql
- mysql如何允許遠端訪問MySql
- Docker 如何開啟遠端訪問Docker
- NAS如何實現遠端訪問
- vnc遠端訪問,推薦四款免費又好用的vnc遠端訪問軟體VNC
- 洞見RSA 2021|如何設計安全的控制系統遠端訪問
- Confluence6匿名訪問遠端APIAPI
- mysql5.7.22-log 修改遠端訪問MySql
- MySQL 開啟 3306 埠遠端訪問MySql
- mariadb配置允許遠端訪問方式
- 遠端訪問技術是什麼
- 遠端訪問技術指什麼
- Linux 常見問題 - 拒絕遠端訪問Linux
- 121 TeamViewer 遠端支援、遠端訪問、線上協作和會議View
- web方式訪問sshWeb
- frp與nginx結合,實現內網裝置的ssh,遠端桌面和http訪問FRPNginx內網HTTP
- VNC遠端控制,VNC遠端控制連線WindowsVNCWindows
- Linux 遠端 ssh 登入Linux
- SSH 隧道遠端連線
- SSH遠端登入原理
- 模擬ip訪問(附模擬手機訪問)遠端地址