SSH 遠程連接原理及故障排錯詳解

1、SSH 遠程連接介紹

最常用的 Linux 提供遠程連接服務的工具就是 SSH 軟件,SSH 分爲 SSH 客戶端和 SSH 服務端兩部分。其中,SSH服務端包含的軟件程序主要有 openssl 和 openssh,在 Linux 系統中可以按如下方法查詢 SSH 服務端工具的安裝情況。

# rpm -qa openssl openssh

wKioL1f14aijZiLFAAANlJ54UyU258.png-wh_50

其中,openssh 是提供 SSH 服務的程序,openssl 是爲 SSH 提供連接加密的程序。


2、SSH 服務端介紹

啓動 Linux 系統時,默認情況下,SSH 服務端程序就會隨系統一起啓動,SSH服務是一個守護進程(demon),它在系統後臺永久運行並時刻響應來自所有 SSH 客戶端的連接請求。SSH 服務端的進程名爲 sshd,負責實時監聽遠程 SSH 客戶端的連接請求並進行處理,這些請求一般包括公共密鑰認證、密鑰交換、對稱密鑰加密和非安全連接等。SSH 服務是系統優化時需要保留開機自啓動的服務之一。


3、SSH 客戶端介紹

SSH 客戶端最常用的工具就是 Windows 平臺的 SecureCRT 了,該工具安裝很簡單,按提示一步步操作即可,然後打開註冊軟件,運行就可以使用了,除 SecureCRT 軟件之外,還有 xshell、putty 等常用軟件以及 Linux 下的 ssh 客戶端。


4、SSH 是專門爲遠程登錄會話和其他網絡服務提供的安全協議,端口號 22

5、SSH 有兩個不兼容的版本:SSHv1   SSHv2,如同 windows 的 win7 與 xp

6、telnet 協議,端口號 23


========================================================


故障解決思路:

1、先 ping ip地址 -t:檢查物理鏈路是否通

2、telnet ip地址 端口:檢查服務是否通;

如果不通,則檢查:

a)服務器防火牆;

b)ssh 服務是否開啓;

c)客戶端和服務端是不是在一個網段

關閉 Linux 防火牆的方法爲:# /etc/init.d/iptables stop  ---> 最好連續執行兩遍

# /etc/init.d/iptables stop  等同於  # service iptables stop


===========================================================


更改 SSH 服務端遠程登錄的配置

windows 服務器的默認遠程管理端口是 3389,管理員是administrator,普通用戶是 guest。Linux 的管理用戶是 root,遠程管理端口是 22,普通用戶默認有很多

ssh服務,它服務的啓動文件是sshd。

在Linux裏,我們怎麼控制一個服務呢,控制一個軟件的運行呢?通過更改它的配置

那 ssh 這個服務,它對應的一個配置文件是 cd /etc/ssh/sshd_config

修改配置文件之前先備份 # cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.oldboy.20160903

# vim sshd_config

:set nu   ---> 輸入 行號gg  --->就跳到指定的行號  eg:98gg 


配置文件修改如下:

13行 Port 52113       --->範圍是:0~65535

122行 UseDNS  no      --->取消註釋,改成 no。 

這個是你訪問百度網站,它給i解析成IP地址,這個解析很慢,我們自己連接都是IP連接,所以我們不需要解析,這樣連接的就比較快。

42行 PermitRootLogin no --->我們不允許root通過ssh連接。

本地切換角色,用樹切沒問題,但不允許遠程連,禁止管理員遠程連接。

15行 ListenAddress 192.168.186.134  --->把這個監聽的IP地址改成你服務器的內網的IP地址,

也就是說你將來的服務器可能會有eth0網卡,這個網卡是外面所有的人都能訪問到的,它能夠勾到你,就有可能連到你ssh;你有可能機器有兩塊網卡,還有一塊eth1,這是內網卡,所以你要限定,只有訪問你內網卡,這個ssh服務纔會去響應這個請求,你訪問外網,根本連不上我ssh服務

80行 GSSAPIAuthentication no  ---> 我們將來遠程連接的時候,特別是一臺機器管理一堆機器時,它的ssh連接會比較慢,我們解決兩臺機器連接比較慢的問題,要把這個參數調成no


Linux 它所有的配置文件基本都是放在內存裏,所以你現在改的配置文件僅僅是改磁盤上的,這個文件還沒生效,所有通過重啓這個服務,讓它把配置讀到內存裏,然後才能生效,所以重啓服務:

# /etc/init.d/sshd restart   或

# /etc/init.d/sshd reload ----> reload 是一個平滑重啓的模式






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章