SSH管理服務
2.1 什麽是ssh
SSH是Secure Shell Protocol的簡寫,
在進行數據傳輸之前,SSH先對聯機數據包通過加密技術進行加密處理,加密後在進行數據傳輸。
確保了傳遞的數據安全。
2.2 ssh遠程服務主要功能
a 一是提供類似telnet遠程聯機服務器的服務,即上面提到的SSH服務;
? b 一個是類似FTP服務的sftp-server,借助SSH協議來傳輸數據的,提供更安全的SFTP服務(vsftp,proftp)。
2.3 ssh遠程連接不上?
回想屌絲去×××(3個步驟排查)
2.4 遠程連接方式?
ssh: 密文的連接方式 監聽的端口號 22
telnet:明文的連接方式 監聽的端口號 23
2.5 SSH知識要點總結
? a SSH是安全的加密協議,用於遠程連接linux服務器。
? b SSH默認端口是22,安全協議版本SSHv2,除了2之外還有SSHv1(有漏洞)。
? c SSH服務端主要包含兩個服務功能SSH遠程連接和SFTP服務。
? d Linux SSH客戶端包含ssh遠程連接命令,以及遠程拷貝scp命令等。
2.6 yum安裝軟件時提示以下錯誤
No package ssh available.?
1) 從已有軟件服務器上,或去ssh命令服務大禮包
[root@backup ~]# rpm -qf which ssh
openssh-clients-5.3p1-122.el6.x86_64
[root@backup ~]# yum provides
which ssh
2.7 openssh軟件分析(與數據加密相關的軟件--openssl)
[root@backup ~]# rpm -ql openssh-clients
/etc/ssh/ssh_config --- ssh服務客戶端配置文件
/usr/bin/scp --- 遠程拷貝命令
/usr/bin/sftp --- 遠程文件傳輸命令
/usr/bin/slogin --- 遠程登錄命令
/usr/bin/ssh --- 遠程連接登錄命令
[root@backup ~]# rpm -ql openssh-server
/etc/rc.d/init.d/sshd --- ssh服務啟動腳本文件
/etc/ssh/sshd_config --- ssh服務配置文件
/usr/sbin/sshd --- ssh服務進程啟動命令
2.8 ssh遠程連接加密原理
1)ssh客戶端向服務端發出連接請求
2)ssh服務端接收到請求,向客戶端發出確認
3)ssh客戶端進行確認,ssh服務端向客戶端發出公鑰(鎖頭)
4)ssh客戶端利用公鑰加密數據,發送給服務端,服務端利用私鑰解密數據信息
2.9 ssh服務遠程認證類型(遠程登錄方式)
1)基於口令的登錄方式
2)基於秘鑰的登錄方式
a 管理端創建秘鑰対(創建私鑰 公鑰);情侶創建信物
b 管理端將公鑰發送給被管理端;一個信物給對方
c 管理再次請求與被管理建立連接時,被管理會發出公鑰質詢;你是大明湖畔的容嬤嬤
d 管理處理質詢請求,管理端和被管理建立免密碼的連接登錄方式;就和容嬤嬤快樂在一起了
2.10 ssh服務啟動操作
/etc/init.d/sshd start
2.11 ssh服務配置文件
vim /etc/ssh/sshd_config
說明:第一次編輯時,裏面所有註釋信息都是默認配置
13 Port 22 --- 表示可以修改ssh服務默認端口號信息
15 ListenAddress 10.0.0.41 --- 表示只能監聽本地網卡上有的IP地址
PermitEmptyPasswords --- 是否允許空密碼登錄,一定禁止
PermitRootLogin --- 是否允許root用戶遠程登錄,企業環境禁止
UseDNS --- 是否進行dns反向解析,影響ssh連接效率參數
GSSAPIAuthentication no --- 是否進行認證,影響ssh連接效率參數
2.12 ssh防止入侵方案
SSH入侵網友案例:http://phenixikki.blog.51cto.com/7572938/1546669
如何防止SSH登錄入侵小結:
1、用密鑰登錄,不用密碼登陸(課後作業)。
2、牤牛陣法:解決SSH安全問題
a.防火墻封閉SSH,指定源IP限制(局域網、信任公網)
b.開啟SSH只監聽本地內網IP(ListenAddress 172.16.1.61)。
3、盡量不給服務器外網IP
4、最小化(軟件安裝-授權)
5、給系統的重要文件或命令做一個指紋
6、給他鎖上 chattr +i +a
2.13 ssh服務相關命令用法
2.13.1 ssh命令使用方法
ssh –p52113 [email protected] [命令]
ssh --- 遠程連接命令;
-p(小寫)接端口 --- 表示利用指定端口進行遠程連接,默認22端口時可以省略-p22;
“@”前面為用戶名 --- 表示以什麽用戶身份連接到遠程主機上,如果用當前用戶連接,可以不指定用戶。
“@”後面為要連接的服務器的IP
說明:更多用法,請man ssh
2.13.2 scp命令使用方法
scp -P22 -rp /tmp/oldboy [email protected]:/tmp
-P(大寫,註意和ssh命令的不同)接端口,默認22端口時可以省略-P22;
-r 遞歸,表示拷貝目錄;
-p 表示在拷貝前後保持文件或目錄屬性;
-l limit 限制速度。
/tmp/oldboy為本地的目錄。“@”前為用戶名,“@”後為要連接的服務器的IP。
IP後的:/tmp目錄,為遠端的目標目錄。
2.13.3 sftp使用方法
sftp -oPort=52113 [email protected]
sftp -- 登錄sftp模式命令
-oPort -- 指定ssh服務連接端口信息
oldboy -- 指定以什麽身份進行登錄
10.0.0.142 -- 指定登錄sftp服務器ip地址
sftp> -- 顯示sftp提示符,表示已經進入到sftp模式中
sftp> help -- 查看sftp模式中可以操作的命令
sftp> cd /backup --- 進入到遠程服務器的相應目錄中
sftp> pwd --- 顯示遠程的工作目錄
sftp> get 1.txt --- 進行遠程主機文件下載,默認文件下載到登錄前目錄中
sftp> mget xxx --- 進行遠程主機文件批量下載(sftp服務沒有這個命令)
sftp> lcd /tmp --- 進入到本地服務器的相應目錄中
sftp> lpwd --- 顯示本地的工作目錄
sftp> put test.sh --- 進行本地數據文件上傳
sftp> mput xxx --- 進行本地數據文件批量上傳
2.14 企業面試題
2.15 監聽的參數說明
SSH管理服務