SSH(Secure Shell)最初由芬蘭的一家公司開發,但由於受版權和加密算法的限制,很多人轉而使用免費的替代軟件OpenSSH。SSH是由客戶端和服務端的軟件組成的,有兩個不兼容的版本,分別是:1.x和2.x。用SSH 2.x的客戶程序是不能連接到SSH 1.x的服務程序上去的。OpenSSH 2.x同時支持SSH 1.x和2.x
solaris10使用的ssh服務器是opensshd,當然也有付費的商業版本的sshd出售。就目前的情況看來,openssh已經在你安裝操作系統的時候默認安裝在系統上了,而且這個服務會隨系統自動運行。可以使用命令svcs查看ssh是否正常運行,如圖2 如果已經正常運行可以關閉不安全的telnet服務。
圖2 關閉不安全的telnet服務
下面需要理解OPENSSH配置文件/etc/ssh/sshd_config。
“/etc/ssh/sshd_config” 配置文件是OpenSSH的配置文件,允許設置選項改變這個守護進程的運行。這個文件的每一行包含“關鍵詞-值”的匹配,其中“關鍵詞”是忽略大小寫的。下面列出來的是最重要的關鍵詞。編輯“sshd_config”文件(vi /etc/ssh/sshd_config),加入或改變下面的參數(#後是說明文字):
Protocol 2
#使用版本2協議#
Port 22
# “Port”設置sshd****的端口號。#
ListenAddress ::
#“ListenAddress”設置sshd服務器綁定的IP地址。#
AllowTcpForwarding no
#是否許可端口轉發#
GatewayPorts no
#是否許可使用網關端口#
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
#“X11Forwarding”設置是否允許X11轉發。#
PrintMotd no
#“PrintMotd”設置sshd是否在用戶登錄的時候顯示“/etc/motd”中的信息。#
KeepAlive yes
SyslogFacility auth
LogLevel info
#“LogLevel”設置記錄sshd日志消息的層次。INFO是一個好的選擇。查看sshd的man幫助頁,已獲取更多的信息。#
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#“HostKey”設置包含計算機私人密匙的文件。#
ServerKeyBits 768 #“ServerKeyBits”定義服務器密匙的位數。#
KeyRegenerationInterval 3600
#“KeyRegenerationInterval”設置在多少秒之後自動重新生成服務器的密匙(如果使用密匙)。重新生成密匙是為了防止用盜用的密匙解密被截獲的信息。#
StrictModes yes
# StrictModes”設置ssh在接收登錄請求之前是否檢查用戶家目錄和rhosts文件的權限和所有權。這通常是必要的,因為新手經常會把自己的目錄和文件設成任何人都有寫權限#
LoginGraceTime 600
MaxAuthTries 6
MaxAuthTriesLog 3
PermitEmptyPasswords no
#是否許可空密碼登錄#
PasswordAuthentication yes
#“PasswordAuthentication”設置是否允許口令驗證。#
PAMAuthenticationViaKBDInt yes
PermitRootLogin no
#是否許可root用戶登錄#
# sftp subsystem
Subsystem sftp /usr/lib/ssh/sftp-server
IgnoreRhosts yes
RhostsAuthentication no
RhostsRSAAuthentication no
#“RhostsAuthentication”設置只用rhosts或“/etc/hosts.equiv”進行安全驗證是否已經足夠。#
RSAAuthentication yes
#“RSAAuthentication”設置是否允許只有RSA安全驗證。#
另外一個配置文件是“/etc/ssh/ssh_config”文件是OpenSSH系統范圍的配置文件,允許你通過設置不同的選項來改變客戶端程序的運行方式下面逐行說明上面的選項設置:
Host * :選項“Host”只對能夠匹配後面字串的計算機有效。“*”表示所有的計算機。
ForwardAgent no :“ForwardAgent”設置連接是否經過驗證代理(如果存在)轉發給遠程計算機。
ForwardX11 no :“ForwardX11”設置X11連接是否被自動重定向到安全的通道和顯示集(DISPLAY set)。
RhostsAuthentication no :“RhostsAuthentication”設置是否使用基於rhosts的安全驗證。
RhostsRSAAuthentication no :“RhostsRSAAuthentication”設置是否使用用RSA算法的基於rhosts的安全驗證。
RSAAuthentication yes :RSAAuthentication”設置是否使用RSA算法進行安全驗證。
PasswordAuthentication yes :“PasswordAuthentication”設置是否使用口令驗證。
FallBackToRsh no:“FallBackToRsh”設置如果用ssh連接出現錯誤是否自動使用rsh。
UseRsh no :“UseRsh”設置是否在這台計算機上使用“rlogin/rsh”。
BatchMode no :“BatchMode”如果設為“yes”,passphrase/password(交互式輸入口令)的提示將被禁止。當不能交互式輸入口令的時候,這個選項對腳本文件和批處理任務十分有用。
CheckHostIP yes :“CheckHostIP”設置ssh是否查看連接到服務器的主機的IP地址以防止DNS欺騙。建議設置為“yes”。
StrictHostKeyChecking no :“StrictHostKeyChecking”如果設置成“yes”,ssh就不會自動把計算機的密匙加入“$HOME/.ssh/known_hosts”文件,並且一旦計算機的密匙發生了變化,就拒絕連接。
IdentityFile ~/.ssh/identity :“IdentityFile”設置從哪個文件讀取用戶的RSA安全驗證標識。
Port 22 :“Port”設置連接到遠程主機的端口。
Cipher blowfish :“Cipher”設置加密用的密碼。
EscapeChar ~ :“EscapeChar”設置escape字符。
你可以修改這兩個配置文件以獲得更好的安全性。
上一頁12 3 下一頁