s s h
查看安裝的服務位置 特指安裝的服務 ps ef | grep 服務名
黑白名單:
限制用戶登錄端口
?all 與deny不可以同時使用
vim etc/ssh/sshd_config
遠程復制 scp :
?多口不是默認要指定端口 使用大寫P? ?scp -P 10022 root@遠程IP:/遠程主機文件? 本地主機文件
r是目錄 P是文件
操作基本需要關閉防火墻
什么是ssh ?
SSH(Secure Shell)是一種安全通道協議,主要用來實現字符界面的遠程登錄、遠程 復制等功能;
SSH 協議對通信雙方的數據傳輸進行了加密處理,其中包括用戶登錄時輸入的用戶口令;
SSH 為建立在應用層和傳輸層基礎上的安全協議。對數據進行壓縮,加快傳輸速度。
SSH使用傳輸層TCP協議的22號端口。
數據傳輸是加密的,可以防止信息泄漏
數據傳輸是壓縮的,可以提高傳輸速度
工具:
linux ?ssh scp sftp ?slogin ? windows xshell?
OPenSSH:
服務名稱:sshd
服務端主程序:/usr/sbin/sshd
服務端配置文件:/etc/ssh/sshd_config
客戶端配置文件:/etc/ssh/ssh.config
原理:
客戶端發起鏈接請求。
服務端返回自己的公鑰,以及一個會話ID(這一步客戶端得到服務端公鑰)。
客戶端生成密鑰對。
客戶端用自己的公鑰異或會話ID,計算出一個值Res,并用服務端的公鑰加密。
客戶端發送加密后的值到服務端,服務端用私鑰解密,得到Res。
服務端用解密后的值Res異或會話ID,計算出客戶端的公鑰(這一步服務端得到客戶端公鑰)。
最終:雙方各自持有三個秘鑰,分別為自己的一對公、私鑰,以及對方的公鑰,之后的所有通訊都會被加密。
登陸方式:
ssh 主機用戶名@服務器主機名或IP ?-p 端口
ssh -l 主機用戶名 ?服務器主機名或IP ?-p 端口
ssh -t 中介A的IP ?ssh ?目標B的IP ? ?(跳板鏈接)
ssh IP ?命令 (命令直接執行)
?known_hosts 文件:ssh會把每個你訪問過的服務端的公鑰都記錄在~/.ssh/known_hosts文件
sshd服務端配置文件:/etc/ssh/sshd_config ? 也是客戶端配置文件
服務監聽選項:端口號、協議版本、監聽IP地址,禁用反向解析
實現首次鏈接系統不會進行確認詢問:取消文件第35行注釋,將ask改為no?
sftp 安全文件傳送協議
sftp 用戶名@IP地址
sftp -oport=22
(當前用戶家目錄)
get get -r ? put ?put -r ? ?quit exit bye
sftp 命令與ftp基本一致? -P指定端口
免密碼登錄
vim /etc/ssh/sshd_config
?
cd ~ (回到家目錄)
首先在客戶端生成一對密鑰(ssh-keygen)。
ssh-keygen -t ecdsa
cd ./ssh
ls
id_ecdsa私鑰 ?id_ecdsa.pub公鑰
并將客戶端的公鑰ssh-copy-id 拷貝到服務端。
ssh-copy-id -i /root/.ssh/id_ecdsa.pub root@192.168.92.21
當客戶端再次發送一個連接請求時,包括ip、用戶名。
ssh 192.168.92.21 這里就不用再輸入密碼
test1:免密鑰對
ssh-agent bash
ssh-add
輸入密鑰對后記錄下一次免密登錄
TCP Wrappers訪問控制
TCP_Wrappers有一個TCP的守護進程叫作tcpd。以ssh為例,每當有ssh的連接請求時,tcpd即會截獲請求,先讀取系統管理員所設置的訪問控制文件,符合要求,則會把這次連接原封不動的轉給真正的ssh進程,由ssh完成后續工作;如果這次連接發起的ip不符合訪問控制文件中的設置,則會中斷連接請求,拒絕提供ssh服務。
?
tcpd? ? ? ??
ldd $(which ssh httpd)? 查看鏈接庫
其他網絡調用程序庫?
訪問控制策略的配置文件
白名單:/etc/hosts.allow
黑名單:/etc/hosts.deny
先查allow再看deny
deny中 不用重啟 即時生效
?
?
?多個使用,隔開
白名單的優先級高于黑名單,如果一個地址既在白名單也在黑名單中,該地址是可以訪問的。
實際工作中一般通過防火墻的方式來實現同樣功能
重點:
?
總結
- 上一篇: 深度linux怎么还原系统,如何用深度一
- 下一篇: Halcon 物体分割 粘连物体(分水岭