W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
SSH(Secure Shell)是一種能夠以安全的方式提供遠程登錄的協(xié)議,也是目前遠程管理Linux系統(tǒng)的首選方式。在此之前,一般使用FTP或Telnet來進行遠程登錄。但是因為它們以明文的形式在網(wǎng)絡中傳輸賬戶密碼和數(shù)據(jù)信息,因此很不安全,很容易受到黑客發(fā)起的中間人攻擊,這輕則篡改傳輸?shù)臄?shù)據(jù)信息,重則直接抓取服務器的賬戶密碼。
想要使用SSH協(xié)議來遠程管理Linux系統(tǒng),則需要部署配置sshd服務程序。sshd是基于SSH協(xié)議開發(fā)的一款遠程管理服務程序,不僅使用起來方便快捷,而且能夠提供兩種安全驗證的方法:
基于口令的驗證—用賬戶和密碼來驗證登錄;
基于密鑰的驗證—需要在本地生成密鑰對,然后把密鑰對中的公鑰上傳至服務器,并與服務器中的公鑰進行比較;該方式相較來說更安全。
前文曾多次強調“Linux系統(tǒng)中的一切都是文件”,因此在Linux系統(tǒng)中修改服務程序的運行參數(shù),實際上就是在修改程序配置文件的過程。sshd服務的配置信息保存在/etc/ssh/sshd_config文件中。運維人員一般會把保存著最主要配置信息的文件稱為主配置文件,而配置文件中有許多以井號開頭的注釋行,要想讓這些配置參數(shù)生效,需要在修改參數(shù)后再去掉前面的井號。sshd服務配置文件中包含的重要參數(shù)如表9-1所示。
表9-1 sshd服務配置文件中包含的參數(shù)以及作用
參數(shù) | 作用 |
---|---|
Port 22 | 默認的sshd服務端口 |
ListenAddress 0.0.0.0 | 設定sshd服務器監(jiān)聽的IP地址 |
Protocol 2 | SSH協(xié)議的版本號 |
HostKey /tc/ssh/ssh_host_key | SSH協(xié)議版本為1時,DES私鑰存放的位置 |
HostKey /etc/ssh/ssh_host_rsa_key | SSH協(xié)議版本為2時,RSA私鑰存放的位置 |
HostKey /etc/ssh/ssh_host_dsa_key | SSH協(xié)議版本為2時,DSA私鑰存放的位置 |
PermitRootLogin yes | 設定是否允許root管理員直接登錄 |
StrictModes yes | 當遠程用戶的私鑰改變時直接拒絕連接 |
MaxAuthTries 6 | 最大密碼嘗試次數(shù) |
MaxSessions 10 | 最大終端數(shù) |
PasswordAuthentication yes | 是否允許密碼驗證 |
PermitEmptyPasswords no | 是否允許空密碼登錄(很不安全) |
在RHEL 7系統(tǒng)中,已經(jīng)默認安裝并啟用了sshd服務程序。接下來使用ssh命令進行遠程連接,其格式為“ssh [參數(shù)] 主機IP地址”。要退出登錄則執(zhí)行exit命令。
[root@linuxprobe ~]# ssh 192.168.10.10
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
ECDSA key fingerprint is 4f:a7:91:9e:8d:6f:b9:48:02:32:61:95:48:ed:1e:3f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts.
root@192.168.10.10's password:此處輸入遠程主機root管理員的密碼
Last login: Wed Apr 15 15:54:21 2017 from 192.168.10.10
[root@linuxprobe ~]#
[root@linuxprobe ~]# exit
logout
Connection to 192.168.10.10 closed.
如果禁止以root管理員的身份遠程登錄到服務器,則可以大大降低被黑客暴力破解密碼的幾率。下面進行相應配置。首先使用Vim文本編輯器打開sshd服務的主配置文件,然后把第48行#PermitRootLogin yes參數(shù)前的井號(#)去掉,并把參數(shù)值yes改成no,這樣就不再允許root管理員遠程登錄了。記得最后保存文件并退出。
[root@linuxprobe ~]# vim /etc/ssh/sshd_config
………………省略部分輸出信息………………
46
47 #LoginGraceTime 2m
48 PermitRootLogin no
49 #StrictModes yes
50 #MaxAuthTries 6
51 #MaxSessions 10
52
………………省略部分輸出信息………………
再次提醒的是,一般的服務程序并不會在配置文件修改之后立即獲得最新的參數(shù)。如果想讓新配置文件生效,則需要手動重啟相應的服務程序。最好也將這個服務程序加入到開機啟動項中,這樣系統(tǒng)在下一次啟動時,該服務程序便會自動運行,繼續(xù)為用戶提供服務。
[root@linuxprobe ~]# systemctl restart sshd
[root@linuxprobe ~]# systemctl enable sshd
這樣一來,當root管理員再來嘗試訪問sshd服務程序時,系統(tǒng)會提示不可訪問的錯誤信息。雖然sshd服務程序的參數(shù)相對比較簡單,但這就是在Linux系統(tǒng)中配置服務程序的正確方法。大家要做的是舉一反三、活學活用,這樣即便以后遇到了陌生的服務,也一樣可以搞定了。
[root@linuxprobe ~]# ssh 192.168.10.10
root@192.168.10.10's password:此處輸入遠程主機root用戶的密碼
Permission denied, please try again.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: