ssh伺服器配置

2021-09-06 05:46:03 字數 4770 閱讀 8915

基本上,所有的 sshd 伺服器詳細設定都放在 /etc/ssh/sshd_config 裡面!不過,每個 linux distribution 的預設設定都不太相同,所以我們有必要來了解一下整個設定值的意義為何才好! 同時請注意,在預設的檔案內,只要是預設有出現且被批註的設定值 (設定值前面加 #),即為『預設值!』,你可以依據它來修改的哩

[root@www ~]# vim /etc/ssh/sshd_config

#1. 關於 ssh server 的整體設定,包含使用的 port 啦,以及使用的密碼演算方式

#port 22

#ssh 預設使用 22 這個port,也可以使用多個port,即重複使用 port 這個設定專案!

#例如想要開放 sshd 在 22 與 443 ,則多加一行內容為:『 port 443 』

#然後重新啟動 sshd 這樣就好了!不過,不建議修改 port number 啦!

protocol 2

#選擇的 ssh 協議版本,可以是 1 也可以是 2 ,centos 5.x 預設是僅支援 v2。

#如果想要支援舊版 v1 ,就得要使用『 protocol 2,1 』才行。

#listenaddress 0.0.0.0##

192.168.100.254,假設你只想要讓 192.168.1.100 可以監聽 sshd ,那就這樣寫:

#『 listenaddress 192.168.1.100 』預設值是監聽所有介面的 ssh 要求

#pidfile /var/run/sshd.pid

#可以放置 sshd 這個 pid 的檔案!上述為預設值

#logingracetime 2m

#當使用者連上 ssh server 之後,會出現輸入密碼的畫面,在該畫面中,

#在多久時間內沒有成功連上 ssh server 就強迫斷線!若無單位則預設時間為秒!

#compression delayed

#指定何時開始使用壓縮資料模式進行傳輸。有 yes, no 與登入後才將資料壓縮 (delayed)

#2. 說明主機的 private key 放置的檔案,預設使用下面的檔案即可!

#hostkey /etc/ssh/ssh_host_key # ssh version 1 使用的私鑰

#hostkey /etc/ssh/ssh_host_rsa_key # ssh version 2 使用的 rsa 私鑰

#hostkey /etc/ssh/ssh_host_dsa_key # ssh version 2 使用的 dsa 私鑰

#還記得我們在主機的 ssh 聯機流程裡面談到的,這裡就是 host key ~

#3. 關於登入檔案的訊息資料放置與 daemon 的名稱!

syslogfacility authpriv

#當有人使用 ssh 登入系統的時候,ssh 會記錄資訊,這個資訊要記錄在什麼 daemon name

#底下?預設是以 auth 來設定的,即是 /var/log/secure 裡面!什麼?忘記了!

#回到 linux 基礎去翻一下。其他可用的 daemon name 為:daemon,user,auth,

#local0,local1,local2,local3,local4,local5,

#loglevel info

#登入記錄的等級!嘿嘿!任何訊息!同樣的,忘記了就回去參考!

#4. 安全設定專案!極重要!

#4.1 登入設定部分

#permitrootlogin yes

#是否允許 root 登入!預設是允許的,但是建議設定成 no!

#strictmodes yes

#是否讓 sshd 去檢查使用者家目錄或相關檔案的許可權資料,

#這是為了擔心使用者將某些重要檔案的許可權設錯,可能會導致一些問題所致。

#例如使用者的 ~.ssh/ 許可權設錯時,某些特殊情況下會不許使用者登入

#pubkeyauthentication yes

#authorizedkeysfile .ssh/authorized_keys

#是否允許使用者自行使用成對的金鑰系統進行登入行為,僅針對 version 2。

#至於自製的公鑰資料就放置於使用者家目錄下的 .ssh/authorized_keys 內

passwordauthentication yes

#密碼驗證當然是需要的!所以這裡寫 yes 囉!

#permitemptypasswords no

#若上面那一項如果設定為 yes 的話,這一項就最好設定為 no ,

#這個專案在是否允許以空的密碼登入!當然不許!

#4.2 認證部分

#rhostsauthentication no

#本機系統不使用 .rhosts,因為僅使用 .rhosts太不安全了,所以這裡一定要設定為 no

#ignorerhosts yes

#是否取消使用 ~/.ssh/.rhosts 來做為認證!當然是!

#rhostsrsaauthentication no #

#這個選項是專門給 version 1 用的,使用 rhosts 檔案在 /etc/hosts.equiv

#配合 rsa 演算方式來進行認證!不要使用啊!

#hostbasedauthentication no

#這個專案與上面的專案類似,不過是給 version 2 使用的!

#ignoreuserknownhosts no

#是否忽略家目錄內的 ~/.ssh/known_hosts 這個檔案所記錄的主機內容?

#當然不要忽略,所以這裡就是 no 啦!

challengeresponseauthentication no

#允許任何的密碼認證!所以,任何 login.conf 規定的認證方式,均可適用!

#usepam yes

#利用 pam 管理使用者認證有很多好處,可以記錄與管理。

#所以這裡我們建議你使用 usepam 且 challengeresponseauthentication 設定為 no

#4.3 與 kerberos 有關的引數設定!因為我們沒有 kerberos 主機,所以底下不用設定!

#kerberosauthentication no

#kerberosorlocalpasswd yes

#kerberosticketcleanup yes

#kerberostgtpassing no

#4.4 底下是有關在 x-window 底下使用的相關設定!

x11forwarding yes

#x11displayoffset 10

#x11uselocalhost yes

#比較重要的是 x11forwarding 專案,他可以讓視窗的資料透過 ssh 通道來傳送喔!

#在本章後面比較高階的 ssh 使用方法中會談到。

#4.5 登入後的專案:

#printmotd yes

#登入後是否顯示出一些資訊呢?例如上次登入的時間、地點等等,預設是 yes

#亦即是列印出 /etc/motd 這個檔案的內容。但是,如果為了安全,可以考慮改為 no !

#printlastlog yes

#顯示上次登入的資訊!可以啊!預設也是 yes !

#tcpkeepalive yes

#當達成聯機後,伺服器會一直傳送 tcp 封包給客戶端藉以判斷對方式否一直存在聯機。

#不過,如果聯機時中間的路由器暫時停止服務幾秒鐘,也會讓聯機中斷喔!

#在這個情況下,任何一端死掉後,ssh可以立刻知道!而不會有殭屍程式的發生!

#但如果你的網路或路由器常常不穩定,那麼可以設定為 no 的啦!

useprivilegeseparation yes

#是否許可權較低的程式來提供使用者操作。我們知道 sshd 啟動在 port 22 ,

#因此啟動的程式是屬於 root 的身份。那麼當 student 登入後,這個設定值

#會讓 sshd 產生乙個屬於 sutdent 的 sshd 程式來使用,對系統較安全

maxstartups 10

#同時允許幾個尚未登入的聯機畫面?當我們連上 ssh ,但是尚未輸入密碼時,

#這個時候就是我們所謂的聯機畫面啦!在這個聯機畫面中,為了保護主機,

#所以需要設定最大值,預設最多十個聯機畫面,而已經建立聯機的不計算在這十個當中

#4.6 關於使用者抵擋的設定專案:

denyusers *

#設定受抵擋的使用者名稱,如果是全部的使用者,那就是全部擋吧!

#若是部分使用者,可以將該賬號填入!例如下列!

denyusers test

denygroups test

#與 denyusers 相同!僅抵擋幾個群組而已!

#5. 關於 sftp 服務與其他的設定專案!

subsystem sftp /usr/lib/ssh/sftp-server

#usedns yes

#一般來說,為了要判斷客戶端**是正常合法的,因此會使用 dns 去反查客戶端的主機名

#不過如果是在內網互連,這專案設定為 no 會讓聯機達成速度比較快。

預設的 sshd 服務已經算是挺安全的了,不過還不夠!建議你 (1)將 root 的登入許可權取消; (2)將 ssh 版本設定為 2 。其他的設定值就請你依照自己的喜好來設定了。 通常不建議進行隨便修改啦!另外,如果你修改過上面這個檔案(/etc/ssh/sshd_config),那麼就必需要重新啟動一次 sshd 這個 daemon 才行!亦即是:

/etc/init.d/sshd restart

配置ssh伺服器

開啟c users k.ssh 如果有known hosts檔案刪除裡面所有內容儲存。儲存後可以正常登陸伺服器。輸入ssh root 108.61.247.227 之後輸入密碼,由於linux系統密碼不可見所以要注意不要寫錯,輸入後打回車可以登陸。在輸入 wget no check certific...

Ubuntu配置SSH伺服器

ssh 為 secure shell 的縮寫,由 ietf 的網路小組 network working group 所制定 ssh 為建立在應用層和傳輸層基礎上的安全協議。ssh 是目前較可靠,專為遠端登入會話和其他網路服務提供安全性的協議。利用 ssh 協議可以有效防止遠端管理過程中的資訊洩露問題...

私有Git伺服器ssh配置

1.將公鑰 id rsa.pub 上傳到 root下 2.su root cd home git mkdir ssh 建立公鑰檔案配置目錄 ll all 檢視所有檔案,包括隱藏檔案 通常以 開頭 cd ssh cp root id rsa.pub 上傳公鑰檔案到.ssh目錄 3.修改公鑰檔名稱,li...