SSH是專門為遠程登錄會話和其他網絡服務提供的安全協議。使用SSH協議可以有效防止遠程管理過程中的信息泄露。
默認情況下,SSH服務主要提供兩個服務功能;壹種是提供類似於telnet遠程在線服務器的服務,即上面提到的ssh服務;另壹種是類似ftp服務的sftp-server,它通過ssh協議傳輸數據,並提供更安全的sftp服務來提醒SSH客戶端(SSH命令)。它還包含壹個非常有用的遠程安全復制命令scp,該命令也通過SSH協議工作。
總結:
1)SSH是壹種用於遠程連接Linux服務器的安全加密協議。
2)SSH的默認端口為22,安全協議版本為SSH2。除了2,ssh1還有漏洞。
3)SSH服務器主要包括兩個服務器功能:SSH遠程連接和SFTP服務。
4)Linux ssh客戶端包括SSH遠程連接命令和遠程復制scp命令。
修改SSH服務的運行參數是通過修改配置文件/etc /ssh/sshd_config來實現的。
端口52114(ssh默認連接端口為22,可以修改)
permitroot登錄號(禁止遠程root登錄)
PermitEmptyPasswords no(空密碼禁止登錄)
使用的DNS號(不適用於DNS)
listen address 172.16.1.61:22(只能為監控intranet IP添加端口號)。
Ssh基本上用於linux系統的遠程管理,原因很簡單:telnet和FTP等傳輸方式有哪些?以明文形式傳輸用戶認證信息本身就不安全,並且存在被網絡竊聽的危險。SSH(安全外殼)是壹種可靠的協議,它為遠程登錄會話和其他網絡服務提供了安全性。使用SSH協議可以有效防止遠程管理過程中的信息泄露。所有傳輸的數據都可以通過SSH加密,還可以防止DNS欺詐和IP欺詐。
Ssh_config和Sshd_config都是ssh服務器的配置文件。它們之間的區別是前者用於客戶端,後者用於服務器。這兩個配置文件都允許您通過設置不同的選項來更改客戶端程序的運行方式。下面列出了兩個配置文件中壹些最重要的關鍵字,每行都是“Keyword &;值”,其中“關鍵字”不區分大小寫。
1,編輯/etc/ssh/ssh_config文件。
各種選項的站點範圍默認值
主機*
代理編號
ForwardX11否
rhost認證號
RhostsRSAAuthentication no
?RSA身份驗證是
密碼身份驗證是
FallBackToRsh否
用戶編號
批次模式號
檢查主機提示是
StrictHostKeyChecking否
標識文件~/。ssh/身份
22號港口
密碼河豚
EscapeChar ~
下面逐壹解釋上述選項參數:
各種選項的站點範圍默認值
“#”表示這句話不是註釋,這句話不屬於配置文件的原文,這意味著下面的選項都是系統的初始默認選項。為了說明這壹點,在實際的配置文件中有許多以“#”開頭的選項。雖然這意味著它不起作用,但實際上意味著這是系統的默認初始化設置。
主機*
“主機”僅對匹配以下字符串的計算機有效,““表示所有計算機。從該格式的前面可以看出,這是壹個全局選項,這意味著下面的所有縮進選項都適用於此設置。您可以指定壹個計算機替換號,使下列選項僅對這臺計算機生效。
代理編號
“ForwardAgent”設置身份驗證代理(如果有)是否將連接轉發到遠程計算機。
ForwardX11否
“ForwardDX11”設置X11連接是否自動重定向到安全通道和顯示集。
rhost認證號
“RhostsAuthentication”設置是否使用基於rhosts的安全身份驗證。
RhostsRSAAuthentication no
“RhostsRSAAuthentication”設置是否使用RSA算法進行基於rhosts的安全身份驗證。
RSA身份驗證是
“RSAAuthentication”設置RSA算法是否用於安全驗證。
密碼身份驗證是
“PasswordAuthentication”設置是否使用密碼驗證。
FallBackToRsh否
“FallBackToRsh”設置在ssh連接出錯時是否自動使用Rsh。由於rsh不安全,該選項應設置為“否”。
用戶編號
“UseRsh”設置是否在這臺計算機上使用“rlogin/rsh”,原因同上,它被設置為“否”。
批次模式號
“BatchMode”:批處理模式,壹般設置為“否”;如果設置為“是”,將禁止提示交互式密碼輸入。此選項對於腳本文件和批處理任務非常有用。
檢查主機提示是
“CheckHostIP”設置ssh是否查看連接到服務器的主機的IP地址以防止DNS欺騙。建議將其設置為“是”。
StrictHostKeyChecking否
如果“StrictHostKeyChecking”設置為“yes”,ssh不會自動將計算機密鑰添加到“$HOME/”。ssh/known_hosts”文件,壹旦計算機密鑰發生變化,它將拒絕連接。
標識文件~/。ssh/身份
“IdentityFile”設置讀取用戶的RSA安全身份驗證身份。
22號港口
“Port”設置連接到遠程主機的端口,ssh的默認端口是22。
密碼河豚
“Cipher”設置加密密鑰,blowfish可以隨意設置。
EscapeChar ~
“EscapeChar”設置轉義字符。
2.編輯文件/etc/ssh/sshd_config:
這是ssh服務器系統範圍的配置文件。
22號港口
列表地址192.168.1.1
主機密鑰/etc/ssh/ssh _主機密鑰
服務器密鑰位1024
登錄時間600
密鑰再生間隔3600
PermitRootLogin登錄號
IgnoreRhosts是
IgnoreUserKnownHosts是的
嚴格模式是
x 11轉發號
PrintMotd是
SyslogFacility身份驗證
日誌級別信息
rhost認證號
RhostsRSAAuthentication no
RSA身份驗證是
密碼身份驗證是
PermitEmptyPasswords編號
允許用戶管理
?下面逐行描述上述選項設置:
22號港口
“Port”設置sshd監聽的端口號。
列表地址192.168.1.1
“ListenAddress”設置sshd服務器綁定的IP地址。
主機密鑰/etc/ssh/ssh _主機密鑰
“HostKey”設置包含計算機私鑰的文件。
服務器密鑰位1024
“服務器密鑰位”定義了服務器密鑰的位數。
登錄時間600
“LoginGraceTime”設置用戶無法成功登錄時服務器在斷開連接之前需要等待的時間(秒)。
密鑰再生間隔3600
“KeyRegenerationInterval”設置服務器密鑰自動重新生成的秒數(如果使用了密鑰)。重新生成密鑰的目的是防止截獲的信息被竊取的密鑰解密。
PermitRootLogin登錄號
“PermitRootLogin”設置是否允許root用戶通過ssh登錄。從安全角度來看,該選項應設置為“否”。
IgnoreRhosts是
“IgnoreRhosts”設置在驗證期間是否使用“hosts”和“shosts”文件。
IgnoreUserKnownHosts是的
“IgnoreUserKnownHosts”設置ssh守護程序是否忽略用戶的“$HOME/”。ssh/known_hosts”時執行RhostsRSAAuthentication安全驗證。
嚴格模式是
“StrictModes”設置ssh在接收登錄請求之前是否檢查用戶主目錄和rhosts文件的權限和所有權。這通常是必要的,因為新手經常設置他們的目錄和文件,以便任何人都有寫權限。
x 11轉發號
“x 11轉發”設置是否允許x 11轉發。
PrintMotd是
“PrintMotd”設置用戶登錄時sshd是否顯示“/etc/motd”中的信息。
SyslogFacility身份驗證
“SyslogFacility”設置在記錄來自sshd的消息時是否給出“設施代碼”。
日誌級別信息
“日誌級別”設置記錄sshd日誌消息的級別。信息是壹個很好的選擇。有關更多信息,請查看sshd的幫助頁。
rhost認證號
“RhostsAuthentication”設置是否只使用rhosts或“/etc/hosts.equiv”進行安全驗證就足夠了。
RhostsRSAAuthentication no
“RhostsRSA”設置是否允許使用rhosts或“/etc/hosts.equiv”加RSA進行安全驗證。
RSA身份驗證是
“RSAAuthentication”設置是否僅允許RSA安全身份驗證。
密碼身份驗證是
“PasswordAuthentication”設置是否允許密碼驗證。
PermitEmptyPasswords編號
“PermitEmptyPasswords”設置是否允許使用密碼為空的帳戶登錄。
允許用戶管理
“AllowUsers”後面可以跟任意數量的用戶名匹配字符串,這些字符串由空格分隔。主機名可以是域名或IP地址。
正常情況下,當我們連接到OpenSSH服務器時,如果打開了UseDNS選項,服務器將首先根據客戶端的IP地址通過DNS PTR查詢客戶端的主機名,然後根據查詢到的客戶端主機名查詢DNS轉發記錄,並驗證是否與原始IP地址壹致,以防止客戶端作弊。通常情況下,我們都是動態IP,不會有PTR記錄,因此打開此選項沒有太大影響。我們可以通過關閉該功能來提高連接OpenSSH服務器的速度。
1)執行命令生成私鑰和公鑰ssh-keygen -t dsa,如下圖所示:
3)我們切換時不需要密碼,如圖所示。