主頁 > 知識庫 > ubuntu配置ssh server的詳細(xì)步驟

ubuntu配置ssh server的詳細(xì)步驟

熱門標(biāo)簽:鶴崗電銷 荊門智能應(yīng)答電話機(jī)器人供應(yīng)商 奧維地圖標(biāo)注制作 哪些企業(yè)需要使用ai外呼系統(tǒng) 鶴壁電話外呼系統(tǒng)怎么樣 系統(tǒng)外呼業(yè)績 百度地圖標(biāo)注任務(wù) 地圖標(biāo)注多個點(diǎn)的位置 長沙智能外呼系統(tǒng)招商

SSH-Server配置指南

一、SSH簡介

SSH (Secure Shell)是一個應(yīng)用程序中提供安全通信的協(xié)議,通過SSH協(xié)議可以安全地訪問服務(wù)器,因為SSH 具有成熟的公鑰加密體系,在數(shù)據(jù)進(jìn)行傳輸時進(jìn)行加密,保證數(shù)據(jù)在傳輸時不被惡意篡改、破壞和泄露,能有效防止網(wǎng)絡(luò)嗅探和IP欺騙等攻擊。

二、服務(wù)器端Ubuntu平臺下OpenSSH server的安裝

SSH是由芬蘭的一家公司開發(fā)的,但是因為受版權(quán)和加密算法的限制,現(xiàn)在很多人都轉(zhuǎn)而使用OpenSSH。OpenSSH是SSH的替代軟件,而且是免費(fèi)的。

下以命令均是以管理員身份登錄使用

1.   在Ubuntu終端使用apt命令

復(fù)制代碼
代碼如下:

# apt-get install openssh-server

如果下載失敗,可能是由于系統(tǒng)需要更新的緣故,嘗試更新一下,就可以了。使用一下命令:

復(fù)制代碼
代碼如下:

# apt-get update

2.  配置openssh server,可以按照需求修改配置文件

復(fù)制代碼
代碼如下:

# vi etc/ssh/ssh_config

3. 重啟服務(wù)器

復(fù)制代碼
代碼如下:

# /etc/init.d/ssh restart

以上OpenSSH server就算安裝完成。
 

配置“/etc/ssh/ssh_config”文件

“/etc/ssh/ssh_config” 文件是OpenSSH系統(tǒng)范圍的配置文件,允許你通過設(shè)置不同的選項來改變客戶端程序的運(yùn)行方式。這個文件的每一行

包含“關(guān)鍵詞-值”的匹配,其中“關(guān)鍵詞”是忽略大小寫的。下面列出來的是最重要的關(guān)鍵詞,用man命令查看幫助頁(ssh (1))可以得到

詳細(xì)的列表。

編輯“ssh_config”文件(vi /etc/ssh/ssh_config),添加或改變下面的參數(shù):

復(fù)制代碼
代碼如下:

# Site-wide defaults for various options
Host *
ForwardAgent no
ForwardX11 no
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
FallBackToRsh no
UseRsh no
BatchMode no
CheckHostIP yes
StrictHostKeyChecking no
IdentityFile ~/.ssh/identity
Port 22
Cipher blowfish
EscapeChar ~

下面逐行說明上面的選項設(shè)置:


Host *
選項“Host”只對能夠匹配后面字串的計算機(jī)有效。“*”表示所有的計算機(jī)。

ForwardAgent no
“ForwardAgent”設(shè)置連接是否經(jīng)過驗證代理(如果存在)轉(zhuǎn)發(fā)給遠(yuǎn)程計算機(jī)。

ForwardX11 no
“ForwardX11”設(shè)置X11連接是否被自動重定向到安全的通道和顯示集(DISPLAY set)。

RhostsAuthentication no
“RhostsAuthentication”設(shè)置是否使用基于rhosts的安全驗證。

RhostsRSAAuthentication no
“RhostsRSAAuthentication”設(shè)置是否使用用RSA算法的基于rhosts的安全驗證。

RSAAuthentication yes
“RSAAuthentication”設(shè)置是否使用RSA算法進(jìn)行安全驗證。

PasswordAuthentication yes
“PasswordAuthentication”設(shè)置是否使用口令驗證。

FallBackToRsh no
“FallBackToRsh”設(shè)置如果用ssh連接出現(xiàn)錯誤是否自動使用rsh。

UseRsh no
“UseRsh”設(shè)置是否在這臺計算機(jī)上使用“rlogin/rsh”。

BatchMode no
“BatchMode”如果設(shè)為“yes”,passphrase/password(交互式輸入口令)的提示將被禁止。當(dāng)不能交互式輸入口令的時候,這個選項對腳本

文件和批處理任務(wù)十分有用。

CheckHostIP yes
“CheckHostIP”設(shè)置ssh是否查看連接到服務(wù)器的主機(jī)的IP地址以防止DNS欺騙。建議設(shè)置為“yes”。

StrictHostKeyChecking no
“StrictHostKeyChecking”如果設(shè)置成“yes”,ssh就不會自動把計算機(jī)的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦計算機(jī)的密

匙發(fā)生了變化,就拒絕連接。

IdentityFile ~/.ssh/identity
“IdentityFile”設(shè)置從哪個文件讀取用戶的RSA安全驗證標(biāo)識。

Port 22
“Port”設(shè)置連接到遠(yuǎn)程主機(jī)的端口。

Cipher blowfish
“Cipher”設(shè)置加密用的密碼。

EscapeChar ~
“EscapeChar”設(shè)置escape字符。

配置“/etc/ssh/sshd_config”文件

“/etc/ssh/sshd_config”是OpenSSH的配置文件,允許設(shè)置選項改變這個daemon的運(yùn)行。這個文件的每一行包含“關(guān)鍵詞-值”的匹配,其中

“關(guān)鍵詞”是忽略大小寫的。下面列出來的是最重要的關(guān)鍵詞,用man命令查看幫助頁(sshd (8))可以得到詳細(xì)的列表。

編輯“sshd_config”文件(vi /etc/ssh/sshd_config),加入或改變下面的參數(shù):

復(fù)制代碼
代碼如下:

# This is ssh server systemwide configuration file.
Port 22
ListenAddress 192.168.1.1
HostKey /etc/ssh/ssh_host_key
ServerKeyBits 1024
LoginGraceTime 600
KeyRegenerationInterval 3600
PermitRootLogin no
IgnoreRhosts yes
IgnoreUserKnownHosts yes
StrictModes yes
X11Forwarding no
PrintMotd yes
SyslogFacility AUTH
LogLevel INFO
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords no
AllowUsers admin

下面逐行說明上面的選項設(shè)置:

Port 22
“Port”設(shè)置sshd監(jiān)聽的端口號。

ListenAddress 192.168.1.1
“ListenAddress”設(shè)置sshd服務(wù)器綁定的IP地址。

HostKey /etc/ssh/ssh_host_key

“HostKey”設(shè)置包含計算機(jī)私人密匙的文件。

ServerKeyBits 1024
“ServerKeyBits”定義服務(wù)器密匙的位數(shù)。

LoginGraceTime 600
“LoginGraceTime”設(shè)置如果用戶不能成功登錄,在切斷連接之前服務(wù)器需要等待的時間(以秒為單位)。

KeyRegenerationInterval 3600
“KeyRegenerationInterval”設(shè)置在多少秒之后自動重新生成服務(wù)器的密匙(如果使用密匙)。重新生成密匙是為了防止用盜用的密匙解密被

截獲的信息。

PermitRootLogin no
“PermitRootLogin”設(shè)置root能不能用ssh登錄。這個選項一定不要設(shè)成“yes”。

IgnoreRhosts yes
“IgnoreRhosts”設(shè)置驗證的時候是否使用“rhosts”和“shosts”文件。

IgnoreUserKnownHosts yes
“IgnoreUserKnownHosts”設(shè)置ssh daemon是否在進(jìn)行RhostsRSAAuthentication安全驗證的時候忽略用戶的“$HOME/.ssh/known_hosts”

StrictModes yes
“StrictModes”設(shè)置ssh在接收登錄請求之前是否檢查用戶家目錄和rhosts文件的權(quán)限和所有權(quán)。這通常是必要的,因為新手經(jīng)常會把自己的

目錄和文件設(shè)成任何人都有寫權(quán)限。

X11Forwarding no
“X11Forwarding”設(shè)置是否允許X11轉(zhuǎn)發(fā)。

PrintMotd yes
“PrintMotd”設(shè)置sshd是否在用戶登錄的時候顯示“/etc/motd”中的信息。

SyslogFacility AUTH
“SyslogFacility”設(shè)置在記錄來自sshd的消息的時候,是否給出“facility code”。

LogLevel INFO
“LogLevel”設(shè)置記錄sshd日志消息的層次。INFO是一個好的選擇。查看sshd的man幫助頁,已獲取更多的信息。

RhostsAuthentication no
“RhostsAuthentication”設(shè)置只用rhosts或“/etc/hosts.equiv”進(jìn)行安全驗證是否已經(jīng)足夠了。

RhostsRSAAuthentication no
“RhostsRSA”設(shè)置是否允許用rhosts或“/etc/hosts.equiv”加上RSA進(jìn)行安全驗證。

RSAAuthentication yes
“RSAAuthentication”設(shè)置是否允許只有RSA安全驗證。

PasswordAuthentication yes
“PasswordAuthentication”設(shè)置是否允許口令驗證。

PermitEmptyPasswords no
“PermitEmptyPasswords”設(shè)置是否允許用口令為空的帳號登錄。

AllowUsers admin
“AllowUsers”的后面可以跟著任意的數(shù)量的用戶名的匹配串(patterns)或user@host這樣的匹配串,這些字符串用空格隔開。主機(jī)名可以是

DNS名或IP地址。

使用SFTP代替FTP傳輸文件

FTP(文件傳輸協(xié)議)是一種使用非常廣泛的在網(wǎng)絡(luò)中傳輸文件的方式,但是,它也同樣存在被網(wǎng)絡(luò)竊聽的危險,因為它也是以明文傳送用戶認(rèn)證信息。其實在SSH軟件包中,已經(jīng)包含了一個叫作SFTP(Secure FTP)的安全文件傳輸子系統(tǒng),SFTP本身沒有單獨(dú)的守護(hù)進(jìn)程,它必須使用sshd守護(hù)進(jìn)程(端口號默認(rèn)是22)來完成相應(yīng)的連接操作,所以從某種意義上來說,SFTP并不像一個服務(wù)器程序,而更像是一個客戶端程序。SFTP同樣是使用加密傳輸認(rèn)證信息和傳輸?shù)臄?shù)據(jù),所以,使用SFTP是非常安全的。但是,由于這種傳輸方式使用了加密/解密技術(shù),所以傳輸效率比普通的FTP要低得多,如果您對網(wǎng)絡(luò)安全性要求更高時,可以使用SFTP代替FTP。若要開啟 SFTP功能可以修改sshd2_config文件的下列內(nèi)容:


復(fù)制代碼
代碼如下:

# subsystem-sftp sftp-server

去掉行首的“#”,然后重新啟動SSH服務(wù)器,這樣在進(jìn)行SSH連接時就可以同時使用SFTP傳輸文件。

關(guān)于客戶端設(shè)置

以上是對服務(wù)器的設(shè)置,其實在SSH服務(wù)器中已經(jīng)包含了一些客戶端工具(如SSH,SFTP工具)。但是,更多的客戶端用戶使用Windows系統(tǒng),下

面就對Windows上的客戶端系統(tǒng)設(shè)置加以說明。
首先從上文給出的網(wǎng)址下載“SSHSecureShellClient-3.2.3.exe”文件并安裝。安裝完成后,在桌面上會產(chǎn)成兩個快捷方式,一個是“SSH

Secure Shell Client”,用于遠(yuǎn)程管理,另一個是“SSH Secure File Transfer Client”,用于和服務(wù)器進(jìn)行文件傳輸。在工具欄中點(diǎn)擊

“quick connnect”,輸入正確的主機(jī)名和用戶名,然后在彈出的對話框中輸入密碼完成登錄,即可開始執(zhí)行命令或者傳輸文件。在使用SFTP

時,默認(rèn)只能顯示用戶的宿主目錄的內(nèi)容和非隱藏文件。但是,有時候您可能還要查看其它目錄或者隱藏文件,這時只需要在菜單“eidt-

>setting-> file transfer”的選項中選中“show root directory”和“show hidden file”兩個選項即可。

使普通用戶僅使用SFTP而沒有使用Shell的權(quán)限
默認(rèn)情況下管理員給系統(tǒng)添加的賬號將同時具有SFTP和SSH的權(quán)限。讓普通用戶使用shell執(zhí)行命令也是有很大的安全隱患的,如果能夠禁止用

戶使用shell執(zhí)行命令而僅使用SFTP傳輸文件,就能消除這種安全隱患,完全實現(xiàn)FTP的功能,
正如上文所述,SFTP沒有單獨(dú)的守護(hù)進(jìn)程,只能借助于sshd守護(hù)進(jìn)程,所以我們?nèi)匀恍枰褂肧SH服務(wù)器,要保證sshd守護(hù)進(jìn)程處于運(yùn)行狀態(tài)。

具體實現(xiàn)方法如下:

首先,在編譯安裝時,編譯中一定要有“–enable-static” 選項。安裝成功后,在安裝目錄下的bin目錄中執(zhí)行下面的命令:

復(fù)制代碼
代碼如下:

[root@localhost bin]# ls -l ssh-dummy-shell* sftp-server2*

將看到下列輸出內(nèi)容:

復(fù)制代碼
代碼如下:

-rwxr-xr-x 1 root root 1350417 Apr 28 16:30 sftp-server2
-rwxr-xr-x 1 root root 3566890 Apr 28 16:30 sftp-server2.static
-rwxr-xr-x 1 root root 72388 Apr 28 16:30 ssh-dummy-shell
-rwxr-xr-x 1 root root 1813412 Apr 28 16:30 ssh-dummy-shell.static

其中帶“static”后綴名,且比較大的兩個文件就是加上“–enable-static”選項后生成的,后面我們將用到這里兩個文件。

下面以添加普通賬號test為例講述具體操作步驟。

1.在“/home”目錄(或者將要存放普通用戶宿主目錄的目錄)下創(chuàng)建“bin”子目錄,并將兩個static文件復(fù)制到此目錄下(復(fù)制后改名去掉static后綴),執(zhí)行如下命令:

復(fù)制代碼
代碼如下:

[root@localhost bin]# cd /usr/local/ssh3.2/bin
[root@localhost bin]#cp ssh-dummy-shell.static /home/bin/ssh-dummy-shell
[root@localhost bin]# cp sftp-server2.static /home/bin/sftp-server
[root@localhost bin]#chown -R root.root /home/bin
[root@localhost bin]#chmod -R 755 /home/bin

2.添加一個組,使以后所有禁止使用shell的用戶都屬于這個組,這樣便于管理更多的用戶:
[root@localhost bin]#groupadd template

3.在添加系統(tǒng)賬號時使用如下命令:

復(fù)制代碼
代碼如下:

[root@localhost root]#useradd -s /bin/ssh-dummy-shell -g template test
[root@localhost root]#passwd test
[root@localhost root]#mkdir /home/test/bin
[root@localhost root]#cd /home/test/bin
[root@localhost bin]#ln /home/bin/ssh-dummy-shell ssh-dummy-shell
[root@localhost bin]#ln /home/bin/sftp-server sftp-server
[root@localhost bin]#chown -R root.root /home/test/bin
[root@localhost bin]#chmod -R 755 /home/test/bin

3.用戶添加成功后,還需要修改/etc/ssh2/sshd2_config文件,將下列內(nèi)容:
#ChRootGroups sftp,guest
改為:
ChRootGroups sftp,guest,template
修改上面這行內(nèi)容,主要是為了禁止普通用戶查看系統(tǒng)的其它目錄,把其權(quán)限限制在自己的主目錄下。重新啟動SSH服務(wù)器程序,在客戶端使用SSH Secure File Transfer Client登錄,即使選擇顯示根目錄,普通用戶也看不到其它的任何目錄,而是把自己的主目錄當(dāng)作根目錄。注意,這里使用的是按用戶所屬組限制,這樣可以使包含在template組內(nèi)的所有用戶都可以實現(xiàn)此功能。若您只要限制個別用戶的話,可以修改下面的內(nèi)容:

復(fù)制代碼
代碼如下:

#ChRootUsers anonymous,ftp,guest

事實證明SSH是一種非常好的網(wǎng)絡(luò)安全解決方案,但是,目前仍有很多管理員使用Telnet或FTP這種非常不安全的工具,希望盡快轉(zhuǎn)移到SSH上來,以減少網(wǎng)絡(luò)安全隱患。

標(biāo)簽:中山 開封 南平 青海 淮安 菏澤 鞍山 池州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ubuntu配置ssh server的詳細(xì)步驟》,本文關(guān)鍵詞  ubuntu,配置,ssh,server,的,詳細(xì),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ubuntu配置ssh server的詳細(xì)步驟》相關(guān)的同類信息!
  • 本頁收集關(guān)于ubuntu配置ssh server的詳細(xì)步驟的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章