1、SSH簡介 ssh(安全外殼協議)是Secure Shell的縮寫,是建立在應用層和傳輸層基礎上的安全協議。傳輸的時候是經過加密的,防止信息泄露,比telnet(明文傳遞)要安全很多。 ftp安裝(要先載入上光碟鏡像文件) 安裝的ftp伺服器端 啟動服務 查看 創建一個新用戶 tcpdump抓包 ...
1、SSH簡介
ssh(安全外殼協議)是Secure Shell的縮寫,是建立在應用層和傳輸層基礎上的安全協議。傳輸的時候是經過加密的,防止信息泄露,比telnet(明文傳遞)要安全很多。
ftp安裝(要先載入上光碟鏡像文件)
安裝的ftp伺服器端
啟動服務
查看
創建一個新用戶
tcpdump抓包工具
安裝命令
yum install tcpdump
然後在本地機器上連接虛擬機
應該是有防火牆
iptables -L
預設Windows當中啟動的防火牆,21埠沒開著
這邊使用命令全部關掉,然後重新監聽21埠
雖然登錄失敗了,但是並不影響抓包
用戶名:
密碼:
2、SSH埠
埠:22
Linux中守護進程:sshd
安裝服務:OpenSSH
服務端主程式:/usr/sbin/sshd
客戶端主程式:/usr/bin/ssh
3、相關配置文件
服務端配置文件:/etc/ssh/sshd_config
客戶端配置文件:/etc/ssh/ssh_config
2、SSH加密原理
對稱加密演算法
採用單鑰密碼系統的加密方法,同一個秘鑰可以同時用作信息的加密和解密,這種加密方式稱為對稱加密,也稱為單秘鑰加密。
非對稱加密演算法又名“公開秘鑰加密演算法”,非堆成加密演算法需要兩個秘鑰:公開密鑰和私有秘鑰。
SSH安全外殼協議(是由非對稱加密演變來的)
它僅僅只是保護了數據傳輸的過程,在發送前和接收後中了木馬等就可能獲得數據內容。
在用Xshell連接伺服器時就會有直觀的顯示。
3、SSH配置文件
伺服器端配置文件
應該還有一個客戶端的配置文件(ssh_config)
ssh_config在使用過程中,既是一個客戶端也是一個服務端,意思是可以允許別人作為客戶端通過22埠訪問我,我也可以作為客戶端去訪問別人。
PermitRootLogin yes 允許root的ssh登錄(建議普通用戶登錄)
PasswordAuthentication yes 建議也改成no
雖然有些設置是被註釋掉的,但是事實上有些是預設設置的,註釋掉也可以。
一般建議把埠改掉。
日誌中等級越高記錄的信息越少,等級越低記錄的信息越詳細。
GSSAPI認證開啟後,在用Linux系統管理Linux系統時會有一個驗證過程,會等很長時間,需要DNS解析。建議關閉(一般是客戶端的配置文件,然後重啟service sshd restart)
4、常用SSH命令
SSH遠程管理
ssh [用戶名@ip]
SCP遠程複製
下載:
scp [email protected]:/root/text.txt
上傳:
scp –r /root/123/ [email protected]/root
5、SSH連接工具
在Windows中用工具遠程連接Linux進行管理。
SecureCRT工具
Xshell工具
5、SSH密鑰對登錄
保護伺服器端的SSH
1.改埠
2.防火牆
第一步:創建密鑰對,私鑰文件:id_rsa,公鑰文件:id_rsa.pub(客戶機)
第二步:上傳公鑰文件到SSH伺服器(id_rsa.pub)
第三步:導入公鑰信息,公鑰庫文件:~/.ssh/authorized_keys
第四步:使用密鑰對驗證進行登錄
不需要密碼登陸,防止了密碼被截獲的可能,只要保證私鑰文件的安全就可以了
步驟一:
客戶端:
ssh-keygen –t rsa
伺服器:
把公鑰上傳到伺服器端
cat id_rsa.pub >>/root/.ssh/authorized_keys 輸出重定向
chmod 600 /root/.ssh/authorized_keys
客戶端:
創建普通用戶
切換到普通用戶
su – user
返回到root
exit
我這邊一直是以下這種顯示
不管是伺服器還是本機的PermitRootLogin yes都改了,但是問題依舊沒有解決。
也嘗試用普通用戶連接,依舊是這種情況。
步驟二
修改伺服器ssh配置文件
RSAAuthentication yes 開啟RSA驗證
PubkeyAuthentication yes 是否使用公鑰驗證
AuthorizedKeysFile .ssh/authorized_keys 公鑰的保存位置
PasswordAuthentication on 禁止使用密碼驗證登錄
步驟三
伺服器端關閉SELinux服務
vi /etc/selinux/config
重啟系統
伺服器端重啟ssh服務
service sshd restart