佳木斯湛栽影视文化发展公司

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

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

熱門標(biāo)簽:電話銷售是做什么的 呼叫中心架構(gòu) 呼叫中心解決方案 網(wǎng)站建設(shè) 電話銷售團(tuán)隊(duì) 呼叫中心系統(tǒng) AI電銷 話術(shù)

SSH-Server配置指南

一、SSH簡介

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

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

SSH是由芬蘭的一家公司開發(fā)的,但是因?yàn)槭馨鏅?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è)置不同的選項(xiàng)來改變客戶端程序的運(yùn)行方式。這個(gè)文件的每一行

包含“關(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 ~

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

IdentityFile ~/.ssh/identity
“IdentityFile”設(shè)置從哪個(gè)文件讀取用戶的RSA安全驗(yàn)證標(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è)置選項(xiàng)改變這個(gè)daemon的運(yùn)行。這個(gè)文件的每一行包含“關(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

下面逐行說明上面的選項(xiàng)設(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ì)算機(jī)私人密匙的文件。

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

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

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

截獲的信息。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DNS名或IP地址。

使用SFTP代替FTP傳輸文件

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


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

# subsystem-sftp sftp-server

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

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

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

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

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

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

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

>setting-> file transfer”的選項(xiàng)中選中“show root directory”和“show hidden file”兩個(gè)選項(xiàng)即可。

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

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

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

首先,在編譯安裝時(shí),編譯中一定要有“–enable-static” 選項(xiàng)。安裝成功后,在安裝目錄下的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”后綴名,且比較大的兩個(gè)文件就是加上“–enable-static”選項(xiàng)后生成的,后面我們將用到這里兩個(gè)文件。

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

1.在“/home”目錄(或者將要存放普通用戶宿主目錄的目錄)下創(chuàng)建“bin”子目錄,并將兩個(gè)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.添加一個(gè)組,使以后所有禁止使用shell的用戶都屬于這個(gè)組,這樣便于管理更多的用戶:
[root@localhost bin]#groupadd template

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

復(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)限限制在自己的主目錄下。重新啟動(dòng)SSH服務(wù)器程序,在客戶端使用SSH Secure File Transfer Client登錄,即使選擇顯示根目錄,普通用戶也看不到其它的任何目錄,而是把自己的主目錄當(dāng)作根目錄。注意,這里使用的是按用戶所屬組限制,這樣可以使包含在template組內(nèi)的所有用戶都可以實(shí)現(xiàn)此功能。若您只要限制個(gè)別用戶的話,可以修改下面的內(nèi)容:

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

#ChRootUsers anonymous,ftp,guest

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

標(biāo)簽:晉城 文山 汕尾 昆明 恩施 清遠(yuǎn) 果洛 催收

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ubuntu配置ssh server的詳細(xì)步驟》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    靖远县| 林州市| 淅川县| 从江县| 尼勒克县| 长宁区| 林西县| 哈尔滨市| 喀什市| 兴安县| 秭归县| 克山县| 台东市| 永泰县| 青阳县| 阳新县| 中方县| 丹东市| 嘉善县| 厦门市| 阿坝| 大渡口区| 瑞昌市| 高陵县| 甘孜县| 阜新市| 桓台县| 金乡县| 云和县| 杭锦旗| 墨江| 宜宾县| 洞口县| 十堰市| 寻甸| 林西县| 遂溪县| 泊头市| 道孚县| 繁昌县| 横峰县|