新聞中心
SSH(Secure Shell)是一種在網絡上進行加密通信的協(xié)議,它為用戶提供了遠程登錄到Linux系統(tǒng)以及執(zhí)行命令和操作文件的安全途徑。但是,正如任何連接到互聯網的服務一樣,SSH也會受到惡意攻擊的威脅。因此,保護你的SSH服務是至關重要的。本文將介紹如何掃描并保護你的Linux SSH。

10年積累的成都網站建設、網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有豐澤免費網站建設讓你可以放心的選擇與我們合作。
1.SSH掃描
提到SSH掃描,就不能不提到Nmap。Nmap是一個流行的網絡掃描器,用于發(fā)現網絡上的主機和開放端口。使用Nmap掃描SSH端口可以了解更多有關SSH服務的信息。下面,讓我們看看如何使用Nmap掃描SSH端口。
你需要安裝Nmap。在Ubuntu/Debian系統(tǒng)中,你可以使用以下命令:
“`
sudo apt-get install nmap
“`
安裝完成后,你可以運行以下命令掃描網絡上的所有主機:
“`
sudo nmap -p 22 192.168.1.1/24
“`
該命令將掃描192.168.1.1/24子網中的所有主機,尋找開放的SSH服務端口(默認為22)。如果你只想掃描一個特定的IP地址,可以使用以下命令:
“`
sudo nmap -p 22 192.168.1.100
“`
如果你想查看更多SSH服務的信息,可以使用以下命令:
“`
sudo nmap -sV -p 22 192.168.1.100
“`
該命令將掃描192.168.1.100的SSH服務端口,并顯示版本信息。
2.SSH保護
現在,我們已經了解了如何找到所有的SSH服務。但如何保護它們,防止惡意攻擊?以下是一些方法:
2.1 修改默認SSH端口
大多數攻擊者會掃描網絡并嘗試連接到常見的端口,例如SSH的默認端口22。因此,你可以通過修改默認的SSH端口來迷惑攻擊者。例如,你可以將SSH端口更改為5555。要更改SSH端口,請編輯`/etc/ssh/sshd_config`文件,找到以下行:
“`
#Port 22
“`
取消注釋并將端口更改為新的端口:
“`
Port 5555
“`
保存文件并重新啟動SSHD服務:
“`
sudo service sshd restart
“`
2.2 禁用密碼登錄
使用密碼進行SSH登錄是不安全的,因為密碼可以被破解或嗅探。相反,使用SSH密鑰進行身份驗證更為安全。因此,你可以禁用密碼登錄并啟用SSH密鑰登錄。編輯`/etc/ssh/sshd_config`文件,找到以下行:
“`
#PasswordAuthentication yes
“`
取消注釋并將其更改為以下內容:
“`
PasswordAuthentication no
“`
保存文件并重新啟動SSHD服務。
2.3 使用SSH密鑰
SSH密鑰是一種在SSH連接中替代密碼的安全身份驗證方式。SSH密鑰由兩部分組成:有時稱為公鑰和私鑰。私鑰必須僅由持有者擁有,并存儲在安全位置。公鑰可以被分享給其他人,例如,可以在服務器上添加到其他用戶的`authorized_keys`文件中,允許它們通過SSH進行身份驗證。使用SSH密鑰可以避免在網絡上傳輸密碼,并允許更安全地登錄。要生成SSH密鑰,請使用以下命令:
“`
ssh-keygen
“`
該命令將在`.ssh`目錄下生成公鑰和私鑰文件。要添加公鑰到服務器上,請使用以下命令:
“`
ssh-copy-id username@server_ip_address
“`
將“username”更改為你想要添加公鑰的用戶名,“server_ip_address”更改為服務器的IP地址。
2.4 使用防火墻
防火墻是保護服務器的常用方式。通過配置防火墻規(guī)則,可以限制進入和離開服務器的網絡流量。例如,你可以允許SSH協(xié)議通過防火墻,并且只允許來自特定IP地址的流量。在Ubuntu/Debian系統(tǒng)中,你可以使用`ufw`命令來管理防火墻規(guī)則。以下是一些示例命令:
“`
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
“`
之一行命令將拒絕所有傳入的流量,第二行命令將允許傳出流量,第三行命令將允許SSH流量。你還可以添加更多規(guī)則來限制來源IP地址。添加規(guī)則后,你需要啟用防火墻:
“`
sudo ufw enable
“`
現在,你的服務器將只允許來自特定IP地址的SSH連接。
結論
在保護你的Linux SSH方面,有許多方法可供選擇。重要的是,你需要意識到SSH服務的重要性,并確保采取必要的措施來保護它。使用Nmap掃描你的網絡以了解SSH服務的狀態(tài),然后使用以上技巧之一來增強安全性。
成都網站建設公司-創(chuàng)新互聯為您提供網站建設、網站制作、網頁設計及定制高端網站建設服務!
linux ssh如何限制用戶只能在特定的時間內可以連接?
高級SSH安全技巧 在這篇文章中我將為你展示一些簡單的技巧,幫助你提高你的SSH服務的安全。SSH服務器配置文件是/etc/ssh/sshd_conf。在你對它進行每一次改動后都需要重新啟動SSH服務,以便讓改動生效。 1、修改SSH監(jiān)聽端口 默認情況下,SSH監(jiān)聽連接端口22,攻擊者使用端口掃描軟件就可以看到主機是否運行有SSH服務,將SSH端口修改為大于1024的端口是一個明智的選擇,因為大多數端口掃描軟件(包括nmap)默認情況都不掃描高位端口。 打開/etc/ssh/sshd_config文件并查找下面這樣的行: Port 22 修改端口號并重新啟動SSH服務: /etc/init.d/ssh restart 2、僅允許SSH協(xié)議版本2 有兩個SSH協(xié)議版本,僅使用SSH協(xié)議版本2會更安全,SSH協(xié)議版本1有安全問題,包括中間人攻擊(man-in-the-middle)和注入(insertion)攻擊。編輯/etc/ssh/sshd_config文件并查找下面這樣的行: Protocol 2,1 修改為 Protocol 2 3、僅允許特定的用戶通過SSH登陸 你不一個允許root用戶通過SSH登陸,因為這是一個巨大的不必要的安全風險,如果一個攻擊者獲得root權限登陸到你的系統(tǒng),相對他獲得一個普通用戶權限能造成更大的破壞,配置SSH服務器不允許root用戶通過SSH登陸,查找下面這樣的行: PermitRootLogin yes 將yes修改為no,然后重新啟動服務?,F在,如果你想使用特權用戶,你可以先以其他用戶登陸,然后再轉換到root。 創(chuàng)建一個沒有實際權限的虛擬用戶是一個明智的選擇,用這個用戶登陸SSH,即使這個用戶遭到破解也不會引起什么破壞,當創(chuàng)建這個用戶時,確保它屬于wheel組,因為那樣你才能切換到特權用戶。 如果你想讓一列用戶都能通過SSH登陸哪敏,你可以在sshd_config文件中指定它們,例如:我想讓用戶anze、dasa、kimy能通過SSH登陸,在sshd_config文件的末尾我添加下面這樣一行: AllowUsers anze dasa kimy 4、創(chuàng)建一個自定義SSH banner 如果你想讓任何連接到你SSH服務的用戶看到一條特殊的消息,你可以創(chuàng)建一個自定義SSH banner,只需要創(chuàng)建一個文本文件(我的是/etc/ssh-banner.txt),然后輸入你想的任何文本消息,如: *This is a private SSH service. You are not supposed to be here.* *Please leave immediately. * 編輯好后,保存這個文件,在sshd_config中查找下面這樣一行: #Banner /etc/issue.net 取消掉注釋【將#去掉】空山,然后將路徑修改為你自定義的SSH banner文本文件。 5、使用DSA公鑰認證 代替使用用戶名和密碼對SSH進行認證,你可以使用DSA公鑰進行認證,注意你既可以使用登陸名,也可以使用DSA公鑰進行認證,使用DSA公鑰認證可以預防你的系統(tǒng)遭受字典攻擊,因為你不需要用登陸名和密碼登陸SSH服務,而是需要一對DSA密鑰,一個公鑰和一個私鑰,在你本地機器上保存私鑰,將公鑰放在服務器上。當你發(fā)起一個SSH登陸會話時,服務器檢查密鑰,如果它們匹配的話,你就可以直接進入shell,如果它們不匹配,你的連接將被自動斷開。 在本例中的私人計算機叫‘工作站1’,服務器叫‘服務器1’。在兩個機器上我有相同的home目錄,如果服務器和客戶端上的home目錄不同將不能工作,實現,你需要在你李虧枝的私人計算機上創(chuàng)建一對密鑰,命令:~$ ssh-keygen -t dsa,它將要求你為私鑰輸入一個密語,但是你可以保留為空,因為這不是一個推薦的做法。密鑰對創(chuàng)建好了:你的私鑰在~/.ssh/id_dsa,你的公鑰在.ssh/id_dsa.pub。 接下來,拷貝~/.ssh/id_dsa.pub中的內容到‘服務器1’的~/.ssh/authorized_keys文件中,~/.ssh/id_dsa.pub的內容看起來象下面這樣: ~$ cat .ssh/id_dsa.pub ssh-dss AAAAB3NzaC1kc3MAAACBAM7K7vkK5C90RsvOhiHDUROvYbNgr7YEqtrdfFCUVwMWc JYDusNGAIC0oZkBWLnmDu+y6ZOjNPOTtPnpEX0kRoH79maX8NZbBD4aUV91lbG7z604ZTdr LZVSFhCI/Fm4yROHGe0FO7FV4lGCUIlqa55+QP9Vvco7qyBdIpDuNV0LAAAAFQC/9ILjqII7n M7aKxIBPDrQwKNyPQAAAIEAq+OJC8+OYIOeXcW8qcB6LDIBXJV0UT0rrUtFVo1BN39cAWz5pu Fe7eplmr6t7Ljl7JdkfEA5De0k3WDs 9/rD1tJ6UfqSRc2qPzbn0p0j89LPIjdMMSISQqaKO4m2fO2VJcgCWvsghIoD0AMRC7ngIe6bta NIhBbqri10RGL5gh4AAACAJj1/rV7iktOYuVyqV3BAz3JHoaf+H/dUDtX+wuTuJpl+tfDf61rb WOqrARuHFRF0Tu/Rx4oOZzadLQovafqrDnU/No0Zge+WVXdd4ol1YmUlRkqp8vc20ws5mLVP 34fST1amc0YNeBp28EQi0xPEFUD0IXzZtXtHVLziA1/NuzY= 如果文件~/.ssh/authorized_keys已經存在,請將上面的內容附加在該文件的后面。剩下的只是給該文件設置正確的權限了: ~$ chmod 600 ~/.ssh/authorized_keys 現在,配置sshd_config文件使用DSA密鑰認證,確保你將下面三行前的注釋去掉了: RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys 重新啟動服務,如果你的配置沒有錯誤,現在你就可以SSH到你的服務器,而且無需任何交互動作(如輸入用戶名和密碼)就直接進入你的home目錄了。 如果你只想使用DSA認證登陸,確保你在sshd_config中取消掉注釋并修改PasswordAuthentication這一行,將yes改為no: PasswordAuthentication no 任何在服務器上沒有公鑰的人試圖連接到你的SSH服務,它就被拒絕,給它顯示如下一個拒絕提示信息: Permission denied (publickey). 6、使用TCP wrappers僅允許指定的主機連接 如果你想在你的網絡上只允許特定的主機才能連接到你的SSH服務,但又不想使用或弄亂你的iptables配置,那這個方法非常有用,你可以使用 TCP wrappers。在這個例子中對sshd進行TCP包裹,我將創(chuàng)建一條規(guī)則允許本地子網192.168.1.0/24和遠程 193.180.177.13的自己連接到我的SSH服務。 默認情況下,TCP wrappers首先在/etc/hosts.deny中查找看主機是否允許訪問該服務,接下來,TCP wrappers查找/etc/hosts.allow看是否有規(guī)則允許該主機服務指定的服務,我將在/etc/hosts.deny中創(chuàng)建一個規(guī)則,如下: sshd: ALL 這意味著默認情況下所有主機被拒絕訪問SSH服務,這是應該的,否則所有主機都能訪問SSH服務,因為TCP wrappers首先在hosts.deny中查找,如果這里沒有關于阻止SSH服務的規(guī)則,任何主機都可以連接。 接下來,在/etc/hosts.allow中創(chuàng)建一個規(guī)則允許指定的主機使用SSH服務: sshd: 192.168.1 193.180.177.13 現在,只有來自192.168.1.0/24和193.180.177.13的主機能夠訪問SSH服務了,其他主機在連接時還沒有到登陸提示符時就被斷開了,并收到錯誤提示,如下: ssh_exchange_identification: Connection closed by remote host 7、使用iptables允許特定的主機連接 作為TCP wrappers的一個代替品,你可以使用iptables來限制SSH訪問(但可以同時使用這個兩個的),這里有一個簡單的例子,指出了如何允許一個特定的主機連接到你的SSH服務: ~# iptables -A INPUT -p tcp -m state –state NEW –source 193.180.177.13 –dport 22 -j ACCEPT 并確保沒有其他的主機可以訪問SSH服務: ~# iptables -A INPUT -p tcp –dport 22 -j DROP 保存你的新規(guī)則,你的任務就完成了,規(guī)則是立即生效的 8、SSH時間鎖定技巧 你可以使用不同的iptables參數來限制到SSH服務的連接,讓其在一個特定的時間范圍內可以連接,其他時間不能連接。你可以在下面的任何例子中使用/second、/minute、/hour或/day開關。 之一個例子,如果一個用戶輸入了錯誤的密碼,鎖定一分鐘內不允許在訪問SSH服務,這樣每個用戶在一分鐘內只能嘗試一次登陸: ~# iptables -A INPUT -p tcp -m state –syn –state NEW –dport 22 -m limit –limit 1/minute –limit-burst 1 -j ACCEPT ~# iptables -A INPUT -p tcp -m state –syn –state NEW –dport 22 -j DROP 第二個例子,設置iptables只允許主機193.180.177.13連接到SSH服務,在嘗試三次失敗登陸后,iptables允許該主機每分鐘嘗試一次登陸: ~# iptables -A INPUT -p tcp -s 193.180.177.13 -m state –syn –state NEW –dport 22 -m limit –limit 1/minute –limit-burst 1 -j ACCEPT ~# iptables -A INPUT -p tcp -s 193.180.177.13 -m state –syn –state NEW –dport 22 -j DROP 9、結論 這些技巧都不是很難掌握,但是它們對于保護你的SSH服務卻是很強勁的手段,花一點代價換來的是睡一個好覺。
請說明ssh的功能?linux遠程登錄協(xié)議主要有哪些?ssh的優(yōu)點
1、linux系統(tǒng)通過ssh登錄其它的linux系統(tǒng),執(zhí)行如下命令即可:命令格陸此睜式:ssh username@host dis命令說明:username是以哪個用戶身份登錄host是要登錄的主機dis是要進入的目錄 例:ssh 2、windows系統(tǒng)通過ssh登錄linux系統(tǒng)。需要在windows主機中安裝上ssh軟件,ssh是Secure Shell 的縮寫,主扒饑要提供遠程登錄協(xié)議。windows下的安裝很簡單,只要下載好安裝程序,雙擊即可早歲安裝。安裝完成后會生成兩個軟件圖標。 安裝完成后,輸入要登錄的linux系統(tǒng)的ip地址和用戶名,輸入密碼登錄即可。 3、注意 ,使用ssh登錄,需要linux系統(tǒng)開啟ssh服務。
關于掃描linuxssh的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
香港云服務器機房,創(chuàng)新互聯(www.cdcxhl.com)專業(yè)云服務器廠商,回大陸優(yōu)化帶寬,安全/穩(wěn)定/低延遲.創(chuàng)新互聯助力企業(yè)出海業(yè)務,提供一站式解決方案。香港服務器-免備案低延遲-雙向CN2+BGP極速互訪!
分享名稱:輕松把握安全:如何掃描并保護你的LinuxSSH?(掃描linuxssh)
網頁鏈接:http://m.5511xx.com/article/copppcc.html


咨詢
建站咨詢
