娱乐新地带论坛

娱乐新地带论坛 (https://bbs.1819.net/index.php)
-   『软件使用』 (https://bbs.1819.net/forumdisplay.php?f=11)
-   -   Linux [ubuntu] SSH 安裝與設定 (https://bbs.1819.net/showthread.php?t=74025)

Tony 2011-06-16 05:34 PM

[ubuntu] SSH 安裝與設定
 
既然朋友在問,順便寫成文章好了(也灌灌水:p)。
古早時代,最早用來遠端管理 Un*x 主機的方法,多半是使用 Telnet。不過,可怕的是:Telnet 協定是直接傳送「明碼」!也就是說,有心人士直接抓你的封包,你打的帳號、密碼指令,全部可以看得一清二楚!這很可怕吧?
解決的方法,最常見的就是改用 SSH。SSH 是 Secure Shell
protocol 的縮寫,這是一個加密的協定,所以傳送出去的封包都是經過加密的,即使被擷取,也需要很大的功夫才能解開,比較安全。此外,SSH
也是一個會壓縮的協定,因此可以節省頻寬、加速傳遞資料等。不只如此,SSH 不只可以達到 Telnet 的遠端連線功能,還可以提供類似
FTP、但較安全的 sFTP 功能(FTP 也是明碼)等等等許多應用。
而 Ubuntu 預設是沒有安裝 SSH Server 的,那怎麼安裝呢?

安裝的方法很簡單:
# sudo apt-get install ssh
不過安裝完成後,建議改變一下相關的設定:
# sudo nano /etc/ssh/sshd_config
預設的 Port 是 22,有注意過相關 log 的人就知道,有很多無聊的人整天拿一堆帳號來 try,最好的辦法就是把它改掉!在最前面幾行就可以找到:
Port 22
改成你要的 Port。不過最好參考一下 /etc/service,不要用到其他服務的 Port。

接著往下可以找到:
PermitRootLogin yes
這個設定允許讓 root 直接登入。這就看個人了,我是覺得很可怕,可以改成:
PermitRootLogin no
來關閉 root 登入。

為了安全一點,可以在下面加上一行:
AllowUsers
來設定允許使用、登入的使用者名稱。例如帳號是 USERNAME 就是:
AllowUsers USERNAME
這樣就只有這個帳號可以登入。
注意:如果這邊沒有設定 root,雖然前面允許 root 登入,這樣還是會讓 root 無法登入。

如果要更安全,也可以去設定 /etc/hosts.allow 和 /etc/hosts.deny 來允許和拒絕某些來源的連線,服務名稱是 sshd。

大概是這幾樣,接著就是讓 ssh 重開來讀取新的設定:
# sudo /etc/init.d/ssh restart
搞定。


所有时间均为北京时间。现在的时间是 03:19 PM

©2003-2024 1819.net All rights reserved. © 2024