前些天,剛注冊了AWS,EC2服務(wù)免費體驗一年,配置也不錯,這便宜好大。
昨天來公司登陸時發(fā)現(xiàn),公司屏蔽了22端口,無奈,回家把端口改掉吧。
順便將默認(rèn)只能raskey登陸方式,改掉,重新配置ssh一下。
# 1. 關(guān)于 SSH Server 的整體設(shè)定,包含使用的 port 啦,以及使用的密碼演算方式
Port 22 # SSH 預(yù)設(shè)使用 22 這個 port,您也可以使用多的 port !
# 亦即重復(fù)使用 port 這個設(shè)定項目即可!
Protocol 2,1 # 選擇的 SSH 協(xié)議版本,可以是 1 也可以是 2 ,
# 如果要同時支持兩者,就必須要使用 2,1 這個分隔了!
#ListenAddress 0.0.0.0 # 監(jiān)聽的主機適配卡!舉個例子來說,如果您有兩個 IP,
# 分別是 192.168.0.100 及 192.168.2.20 ,那么只想要
# 開放 192.168.0.100 時,就可以寫如同下面的樣式:
ListenAddress 192.168.0.100 # 只監(jiān)聽來自 192.168.0.100 這個 IP 的SSH聯(lián)機。
# 如果不使用設(shè)定的話,則預(yù)設(shè)所有接口均接受 SSH
PidFile /var/run/sshd.pid # 可以放置 SSHD 這個 PID 的檔案!左列為默認(rèn)值
LoginGraceTime 600 # 當(dāng)使用者連上 SSH server 之后,會出現(xiàn)輸入密碼的畫面,
# 在該畫面中,在多久時間內(nèi)沒有成功連上 SSH server ,
# 就斷線!時間為秒!
Compression yes # 是否可以使用壓縮指令?當(dāng)然可以啰!
# 2. 說明主機的 Private Key 放置的檔案,預(yù)設(shè)使用下面的檔案即可!
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 私鑰

# 2.1 關(guān)于 version 1 的一些設(shè)定!
KeyRegenerationInterval 3600 # 由前面聯(lián)機的說明可以知道, version 1 會使用
# server 的 Public Key ,那么如果這個 Public
# Key 被偷的話,豈不完蛋?所以需要每隔一段時間
# 來重新建立一次!這里的時間為秒!
ServerKeyBits 768 # 沒錯!這個就是 Server key 的長度!
# 3. 關(guān)于登錄文件的訊息數(shù)據(jù)放置與 daemon 的名稱!
SyslogFacility AUTH # 當(dāng)有人使用 SSH 登入系統(tǒng)的時候,SSH會記錄資
# 訊,這個信息要記錄在什么 daemon name 底下?
# 預(yù)設(shè)是以 AUTH 來設(shè)定的,即是 /var/log/secure
# 里面!什么?忘記了!回到 Linux 基礎(chǔ)去翻一下
# 其它可用的 daemon name 為:DAEMON,USER,AUTH,
# LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5,
LogLevel INFO # 登錄記錄的等級!嘿嘿!任何訊息!
# 同樣的,忘記了就回去參考!
# 4. 安全設(shè)定項目!極重要!
# 4.1 登入設(shè)定部分
PermitRootLogin no # 是否允許 root 登入!預(yù)設(shè)是允許的,但是建議設(shè)定成 no!
UserLogin no # 在 SSH 底下本來就不接受 login 這個程序的登入!
StrictModes yes # 當(dāng)使用者的 host key 改變之后,Server 就不接受聯(lián)機,
# 可以抵擋部分的木馬程序!
#RSAAuthentication yes # 是否使用純的 RSA 認(rèn)證!?僅針對 version 1 !
PubkeyAuthentication yes # 是否允許 Public Key ?當(dāng)然允許啦!只有 version 2
AuthorizedKeysFile .ssh/authorized_keys
# 上面這個在設(shè)定若要使用不需要密碼登入的賬號時,那么那個
# 賬號的存放檔案所在檔名!
# 4.2 認(rèn)證部分
RhostsAuthentication no # 本機系統(tǒng)不止使用 .rhosts ,因為僅使用 .rhosts 太
# 不安全了,所以這里一定要設(shè)定為 no !
IgnoreRhosts yes # 是否取消使用 ~/.ssh/.rhosts 來做為認(rèn)證!當(dāng)然是!
RhostsRSAAuthentication no # 這個選項是專門給 version 1 用的,使用 rhosts 檔案在
# /etc/hosts.equiv配合 RSA 演算方式來進行認(rèn)證!不要使用
HostbasedAuthentication no # 這個項目與上面的項目類似,不過是給 version 2 使用的!
IgnoreUserKnownHosts no # 是否忽略家目錄內(nèi)的 ~/.ssh/known_hosts 這個檔案所記錄
# 的主機內(nèi)容?當(dāng)然不要忽略,所以這里就是 no 啦!
PasswordAuthentication yes # 密碼驗證當(dāng)然是需要的!所以這里寫 yes 啰!
PermitEmptyPasswords no # 若上面那一項如果設(shè)定為 yes 的話,這一項就最好設(shè)定
# 為 no ,這個項目在是否允許以空的密碼登入!當(dāng)然不許!
ChallengeResponseAuthentication yes # 挑戰(zhàn)任何的密碼認(rèn)證!所以,任何 login.conf
# 規(guī)定的認(rèn)證方式,均可適用!
#PAMAuthenticationViaKbdInt yes # 是否啟用其它的 PAM 模塊!啟用這個模塊將會
# 導(dǎo)致 PasswordAuthentication 設(shè)定失效!
# 4.3 與 Kerberos 有關(guān)的參數(shù)設(shè)定!因為我們沒有 Kerberos 主機,所以底下不用設(shè)定!
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosTgtPassing no
# 4.4 底下是有關(guān)在 X-Window 底下使用的相關(guān)設(shè)定!
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
# 4.5 登入后的項目:
PrintMotd no # 登入后是否顯示出一些信息呢?例如上次登入的時間、地點等
# 等,預(yù)設(shè)是 yes ,但是,如果為了安全,可以考慮改為 no !
PrintLastLog yes # 顯示上次登入的信息!可以啊!預(yù)設(shè)也是 yes !
KeepAlive yes # 一般而言,如果設(shè)定這項目的話,那么 SSH Server 會傳送
# KeepAlive 的訊息給 Client 端,以確保兩者的聯(lián)機正常!
# 在這個情況下,任何一端死掉后, SSH 可以立刻知道!而不會
# 有僵尸程序的發(fā)生!
UsePrivilegeSeparation yes # 使用者的權(quán)限設(shè)定項目!就設(shè)定為 yes 吧!
MaxStartups 10 # 同時允許幾個尚未登入的聯(lián)機畫面?當(dāng)我們連上 SSH ,
# 但是尚未輸入密碼時,這個時候就是我們所謂的聯(lián)機畫面啦!
# 在這個聯(lián)機畫面中,為了保護主機,所以需要設(shè)定最大值,
# 預(yù)設(shè)最多十個聯(lián)機畫面,而已經(jīng)建立聯(lián)機的不計算在這十個當(dāng)中
# 4.6 關(guān)于使用者抵擋的設(shè)定項目:
DenyUsers * # 設(shè)定受抵擋的使用者名稱,如果是全部的使用者,那就是全部
# 擋吧!若是部分使用者,可以將該賬號填入!例如下列!
DenyUsers test
DenyGroups test # 與 DenyUsers 相同!僅抵擋幾個群組而已!
# 5. 關(guān)于 SFTP 服務(wù)的設(shè)定項目!
Subsystem sftp /usr/lib/ssh/sftp-server
引用自:http://doc.licess.org/openssh/sshd_config.html