一、SSH簡介linux
ssh(安全外殼協議)是Secure Shell的縮寫,是創建在應用層和傳輸層基礎上的安全協議。傳輸的時候是通過加密的,防止信息泄露,比telnet(明文傳遞)要安全不少。算法
ftp安裝(要先加載上光盤鏡像文件)shell
安裝的ftp服務器端安全
啓動服務服務器
查看ssh
建立一個新用戶tcp
tcpdump抓包工具工具
安裝命令加密
yum install tcpdumpspa
而後在本地機器上鍊接虛擬機
應該是有防火牆
iptables -L
默認Windows當中啓動的防火牆,21端口沒開着
這邊使用命令所有關掉,而後從新監聽21端口
雖然登陸失敗了,可是並不影響抓包
用戶名:
密碼:
二、SSH端口
端口:22
Linux中守護進程:sshd
安裝服務:OpenSSH
服務端主程序:/usr/sbin/sshd
客戶端主程序:/usr/bin/ssh
三、相關配置文件
服務端配置文件:/etc/ssh/sshd_config
客戶端配置文件:/etc/ssh/ssh_config
二、SSH加密原理
對稱加密算法
採用單鑰密碼系統的加密方法,同一個祕鑰能夠同時用做信息的加密和解密,這種加密方式稱爲對稱加密,也稱爲單祕鑰加密。
非對稱加密算法又名「公開祕鑰加密算法」,非堆成加密算法須要兩個祕鑰:公開密鑰和私有祕鑰。
SSH安全外殼協議(是由非對稱加密演變來的)
它僅僅只是保護了數據傳輸的過程,在發送前和接收後中了木馬等就可能得到數據內容。
在用Xshell鏈接服務器時就會有直觀的顯示。
三、SSH配置文件
服務器端配置文件
應該還有一個客戶端的配置文件(ssh_config)
ssh_config在使用過程當中,既是一個客戶端也是一個服務端,意思是能夠容許別人做爲客戶端經過22端口訪問我,我也能夠做爲客戶端去訪問別人。
PermitRootLogin yes 容許root的ssh登陸(建議普通用戶登陸)
PasswordAuthentication yes 建議也改爲no
雖然有些設置是被註釋掉的,可是事實上有些是默認設置的,註釋掉也能夠。
通常建議把端口改掉。
日誌中等級越高記錄的信息越少,等級越低記錄的信息越詳細。
GSSAPI認證開啓後,在用Linux系統管理Linux系統時會有一個驗證過程,會等很長時間,須要DNS解析。建議關閉(通常是客戶端的配置文件,而後重啓service sshd restart)
四、經常使用SSH命令
SSH遠程管理
ssh [用戶名@ip]
SCP遠程複製
下載:
scp root@192.168.44.2:/root/text.txt
上傳:
scp –r /root/123/ root@192.168.44.2/root
五、SSH鏈接工具
在Windows中用工具遠程鏈接Linux進行管理。
SecureCRT工具
Xshell工具
五、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