[RHEL5企業級Linux服務攻略]–第12季網路訪問Telnet/SSH全功略推薦

技術小美發表於2017-11-15
Telnet軟體包
客戶端:telnet-0.17-38.el5.i386.rpm 
服務端:telnet-server-0.17-38.el5.i386.rpm
image
telnet沒有安裝就安裝下哈~,確保安裝前已經安裝xinetd服務
image
Telnet訪問控制
可以使用/etc/hosts.allow和/etc/hosts.deny檔案來限制客戶端訪問,這兩個檔案是tcpd服務配置檔案,tcpd服務可以控制外部主機對本機服務的訪問。
image
格式:
服務程式名:主機列表:[可選的命令操作]
Telnet限制最大連線數
可以編輯/etc/xinetd.d/telnet檔案,然後在{}中新增一行instances = 需要限制的數字
image
Telnet服務啟動方法
由於telnet是由xinetd服務管理,所以telnet啟動方法和其他服務不大一樣哈~
chkconfig –level 35 krb5-telnet on
image
也可以使用ntsysv啟動
image
通過修改/etc/xinetd.d/krb5-telnet檔案也可以啟動telnet服務,而ntsysv從本質上也是通過修改此檔案的,修改方法將”disable=yes”改為”disable=no”就可以了
image
修改了配置檔案我們還需要重啟xinetd服務來使用配置生效
image
現在我們可以檢視一下主機是否開啟了23埠
netstat -tna |grep 23
image
現在客戶端就可以telnet上伺服器了,預設不允許root使用者通過telnet登入,我們可以使用su -切換到root使用者身份。
image
如果伺服器配置了防火牆的話,就禁止了telnet登入。
image
這樣客戶端就telnet連線不上了
image
還需要允許客戶端訪問telnet服務所使用的埠才可以,預設使用TCP協議的23埠。
iptables -I INPUT -p tcp –dport 23 -j ACCEPT
image 
現在就又可以登入了哈~
image 
我們還可以更新telnet預設埠號,這樣可以降低安全風險,注意不能修改成已經在使用的埠
vim /etc/services
 image
修改後重啟xinetd服務
image
現在我們還需要修改iptables規則
iptables -I INPUT -p tcp –dport 2388 -j ACCEPT
image 
客戶端XP登入測試下哈~
image
 image
##############Michael分割線################
OpenSSH服務需要4個軟體包
openssh-4.3p2-24.el5.i386.rpm:包含OpenSSH伺服器及客戶端需要的核心檔案 
openssh-askpass-4.3p2-24.el5.i386.rpm:支援對話方塊視窗的顯示,是一個基於X系統的密碼診斷工具 
openssh-clients-4.3p2-24.el5.i386.rpm:OpenSSH客戶端軟體包 
openssh-server-4.3p2-24.el5.i386.rpm:OpenSSH伺服器軟體包
沒有就安裝一下哈~
image 
OpenSSH配置檔案
OpenSSH常用配置檔案有兩個/etc/ssh/ssh_config/etc/sshd_config
ssh_config為客戶端配置檔案而sshd_config為伺服器端配置檔案
image 
ssh_config配置檔案
image
Host:指定配置生效的主機,設定的主機將使用其他設定,“*”表示所有的計算機。 
ForwardAgent:如果存在驗證代理,可以設定連線是否經過驗證代理轉發給遠端計算機。 
ForwardX11:設定X11連線是否被自動重定向到安全的通道和顯示集。 
RhostsAuthentication:設定是否使用基於rhosts安全驗證。 
RhostsRSAAuthentication:設定是否使用RSA演算法的基於rhosts安全驗證。
RSAAuthentication:設定是否使用RSA演算法進行安全驗證。 
PasswordAuthentication:設定是否使用口令驗證。 
HostbasedAuthentication:基於主機的認證 
FallBackToRsh:設定如果用SSH連線出現錯誤是否自動使用RSH。 
UseRsh:設定是否在這臺計算機上使用rlogin/rsh。 
BatchMode:如果設定為yes,passphrase/password的提示將被禁止。當不能互動式輸入口令的時候,這個選項對指令碼檔案和批處理任務非常有用。 
CheckHostIP:設定SSH是否檢視連線到伺服器的主機的IP地址來防止DNS欺騙。建議設定為yes。 
AddressFamily:指定sshd應當使用哪種地址族 
ConnectTimeout:設定連線超時。 
StrictHostKeyChecking:如果設定為yes,SSH就不會自動把計算機的密匙加入$HOME/.ssh/known_hosts檔案,並且一旦計算機的密匙發生變化,就拒絕連線。 
IdentityFile:設定從哪個檔案讀取使用者的RSA安全驗證標識。 
Port:設定連線到遠端主機的埠。 
Protocol:設定客戶端使用的SSH版本。 
Cipher:設定加密方式。 
Ciphers:指定SSH-2允許使用的加密演算法 
EscapeChar:設定escape字元。 
Tunnel:設定穿越不被信任的網路 
TunnelDevice any:any 

PermitLocalCommand no
/etc/ssh/sshd_config配置檔案
image
Port 22 

設定sshd監聽埠號 
ListenAddress 0.0.0.0 

設定sshd伺服器繫結的IP地址,0.0.0.0表示偵聽所有地址 
HostKey /etc/ssh/ssh_host_key 

設定包含計算機私人密匙的檔案 
ServerKeyBits 768 

定義伺服器密匙長度 
LoginGraceTime 2m 

設定如果使用者不能成功登入,在切斷連線之前伺服器需要等待的時間(單位為秒) 
KeyRegenerationInterval 1h 

設定在多少秒之後自動重新生成伺服器密匙。重新生成密匙是為了防止用盜用的密匙解密被截獲的資訊。 
PermitRootLogin no 

設定root是否能夠使用SSH登入,為了保證伺服器安全,建議設定為no 
StrictModes yes 

設定SSH在接收登入請求之前是否檢查使用者家目錄和rhosts檔案的許可權和所有權。防止目錄和檔案設定成任何人都有寫許可權。 
RhostsAuthentication no 

設定只用rhosts或/etc/hosts.equiv進行安全驗證是否滿足需要。 
RhostsRSAAuthentication no 
設定是否允許用rhosts或/etc/hosts.equiv加上RSA進行安全驗證。
RSAAuthentication yes 

設定是否允許只有RSA安全驗證。 
IgnoreUserKnownHosts no 

設定ssh daemon是否在進行RhostsRSAAuthentication安全驗證的時候忽略使用者的$HOME/.ssh/known_hosts。 
IgnoreRhosts yes 

設定驗證的時候是否使用rhosts和shosts檔案 
PasswordAuthentication yes 

設定是否允許口令驗證。 
PermitEmptyPasswords no 
設定是否允許用口令為空的帳號登入。 
X11Forwarding yes 
設定是否允許X11轉發 
PrintMotd yes 

設定sshd是否在使用者登入的時候顯示/etc/motd中的資訊。 
SyslogFacility AUTH 
設定在記錄來自sshd的訊息時是否給出facility code。 
LogLevel INFO 

設定記錄sshd日誌訊息的層次 
AllowUsers michael 

設定允許的使用者,數量可以為多個,使用空格隔開。
OpenSSH身份驗證
(1)口令驗證
ssh -l [遠端主機帳號] [遠端伺服器主機名或IP地址] 
ssh -l michael 192.168.8.188
如果通訊正常將會收到如下資訊
image
第一次登入伺服器時系統沒有儲存遠端主機的資訊,為了確認該主機身份會提示使用者是否繼續連線,輸入yes後登入,這時系統會將遠端伺服器資訊寫入使用者主目錄下的$HOME/.ssh/known_hosts檔案中,下次再進行登入時因為儲存有該主機資訊就不會再提示了哈~
image
image
(2)密匙認證
1)配置遠端伺服器,禁止口令認證
vim /etc/ssh/sshd_conf
image
2)客戶端生成密匙
如果專用ssh系統帳號為51cto進行遠端管理,可以使用51cto帳號登入後執行ssh-keygen生成密匙,因為rhel5使用的是ssh2,所以要加引數-d
ssh-keygen -d
image
提示輸入密匙檔案的儲存路徑,選擇預設繼續哈~
image 
下面要求輸入密碼,這裡的passphrase密碼是對生成的私匙檔案(/home/51cto/.ssh/id_dsa)的保護口令,如果不設定可以回車。公匙檔案為
/home/51cto/.ssh/id_dsa.pub
image 
3)釋出公匙
使用ssh-copy-id命令將客戶端生成的公鑰釋出到遠端伺服器192.168.8.188,並使用-i引數指定本地公鑰的存放位置。
ssh-copy-id -i /home/51cto/.ssh/id_dsa.pub 192.168.8.188
image 
4)連線遠端伺服器
ssh -l 51cto 192.168.8.188
image
其他客戶端設定參考

RHCE課程-RH131Linux管理筆記五-Linux遠端登陸telnet及ssh服務

#####################Michael分割線#######################
本文轉自redking51CTO部落格,原文連結:http://blog.51cto.com/redking/157562,如需轉載請自行聯絡原作者


相關文章