遠程管理服務
- 給你一個端口,用什麼命令查看相應的服務
- ss -lntup|grep XX
- netstat -lntup|grep -w "XX"
- lsof -i:XX
- nmap -p 22 172.16.1.41
- nc 172.16.1.41
- telnet 172.16.1.41 22
- 企業面試題:如果給你一個進程名字叫sshd,如何查看對應的端口號是多少?
遠程管理服務 SSH
SSH是Secure Shell Protocol的簡寫,
在進行數據傳輸之前,SSH先對聯機數據包通過加密技術進行加密處理,加密後在進行數據傳輸。
確保了傳遞的數據安全。
- ssh遠程服務主要功能
① 一是提供類似telnet遠程聯機服務器的服務,即上面提到的SSH服務;
② 一個是類似FTP服務的sftp-server,藉助SSH協議來傳輸數據的,提供更安全的SFTP服務(vsftp,proftp)。
- ssh遠程連接不上?
開始
檢查鏈路是否通暢 :
測試鏈路是否暢通:ping IP地址 、traceroute/tracert ip
是否有服務阻止鏈路通訊:
查看iptables和selinux的服務狀態(是開啟還是關閉狀態)
是否有服務提供網絡連接:
查看服務端的sshd服務是否已經打開
- 遠程連接方式
ssh: 密文的連接方式 監聽的端口號 22 (安全,數據包傳輸過程是加密狀態)
telnet:明文的連接方式 監聽的端口號 23 (非安全,數據包傳輸過程是,明文狀態)
- SSH知識要點總結
① SSH是安全的加密協議,用於遠程連接linux服務器。
② SSH默認端口是22,安全協議版本SSHv2,除了2之外還有SSHv1(有漏洞)。
③SSH服務端主要包含兩個服務功能SSH遠程連接和SFTP服務。
④ Linux SSH客戶端包含ssh遠程連接命令,以及遠程拷貝scp命令等。
- 有關ssh拍錯——yum安裝軟件時提示以下錯誤
No package ssh available......?
1) 從已有軟件服務器上,獲取ssh命令服務大禮包
[root@backup ~]# rpm -qf `which ssh`
openssh-clients-5.3p1-122.el6.x86_64
2)通過yum命令參數,獲取一個命令屬於哪個大禮包
[root@backup ~]# yum provides `which ssh`
- 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 --- 遠程連接登錄命令
/usr/bin/ssh-copy-id --- 遠程分發公鑰命令
[root@backup ~]# rpm -ql openssh-server (服務端)
/etc/rc.d/init.d/sshd --- ssh服務啟動腳本文件
/etc/ssh/sshd_config --- ssh服務配置文件
/usr/sbin/sshd --- ssh服務進程啟動命令
關於yum在安裝軟件時候你無意不小心退出了軟件沒有安裝執行完成,後面可能會報錯,無法再正常安裝軟件時,需要清楚yum緩存
- 清理yum緩存使用yum clean 命令,yum clean 的參數有headers, packages, metadata, dbcache, plugins, expire-cache, rpmdb, all
yum clean headers #清理/var/cache/yum的headers
yum clean packages #清理/var/cache/yum下的軟件包
yum clean metadata
yum clean all
使用yum clean all 清除,很方便,繞開了沒有root權限的問題。
該命令介紹如下,作用:清除YUM緩存。
yum 會把下載的軟件包和header存儲在cache中,而不自動刪除。如果覺得佔用磁盤空間,可以使用yum clean指令進行清除,更精確 的用法是yum clean headers清除header,yum clean packages清除下載的rpm包,yum clean all一全部清除。
- ssh遠程連接加密原理
ssh客戶端向服務端發出連接請求
ssh服務端接收到請求,向客戶端發出確認
ssh客戶端進行確認,ssh服務端向客戶端發出公鑰(鎖頭)
ssh客戶端利用公鑰加密數據,發送給服務端,服務端利用私鑰解密數據信息
ssh服務遠程認證類型
- 基於口令的登錄方式
- 基於秘鑰的登錄方式
管理端創建秘鑰對(創建私鑰 公鑰);情侶創建信物
管理端將公鑰發送給被管理端;一個信物給對方
管理再次請求與被管理建立連接時,被管理會發出公鑰質詢
管理處理質詢請求,管理端和被管理建立免密碼的連接登錄方式
- SSH 服務啟動及配置SSH服務配置文件
SSH服務啟動
/etc/init.d/sshd start ——啟動ssh遠程服務
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連接效率參數
SSH防止入侵的方案及小結
如何防止SSH登錄入侵小結:
1、用密鑰登錄,不用密碼登陸。
2、牤牛陣法:解決SSH安全問題
a .防火牆封閉SSH,指定源IP限制(局域網、信任公網)
b.開啟SSH只監聽本地內網IP(ListenAddress 172.16.1.61)。
3、儘量不給服務器外網IP
4、最小化(軟件安裝-授權)
5、給系統的重要文件或命令做一個指紋
6、給他鎖上 chattr +i +a
- ssh服務相關命令用法
ssh命令使用方法
ssh –p52113 [email protected] 遠程登陸IP為10.0.0.41 keke用戶裡面
(52113是假設你把ssh默認端口設置成為52113然後這樣輸入)
ssh --- 遠程連接命令;
-p(小寫)接端口 --- 表示利用指定端口進行遠程連接,默認22端口時可以省略-p22;
“@”前面為用戶名 --- 表示以什麼用戶身份連接到遠程主機上,如果用當前用戶連接,可以不指定用戶。
“@”後面為要連接的服務器的IP
說明:更多用法,請man ssh
b scp命令使用方法
scp -P22 -rp /tmp/keke.log [email protected]:/tmp
-P(大寫,注意和ssh命令的不同)接端口,默認22端口時可以省略-P22;
-r 遞歸,表示拷貝目錄;
-p 表示在拷貝前後保持文件或目錄屬性;
-l limit 限制速度。
/tmp/oldboy為本地的目錄。“@”前為用戶名,“@”後為要連接的服務器的IP。
IP後的:/tmp目錄,為遠端的目標目錄。
c sftp使用方法
sftp -oPort=52113 [email protected]
sftp -- 登錄sftp模式命令
-oPort -- 指定ssh服務連接端口信息
keke -- 指定以什麼身份進行登錄
10.0.0.41 -- 指定登錄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 --- 進行本地數據文件批量上傳
謝謝大家的支持——ke.ke