|
2011-06-16, 05:34 PM | #1 | |
注册日期: 2003-10-22
帖子: 11,053
积分:6
精华:24
现金:14348金币
资产:29325305金币
|
[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搞定。 |
|
|
||
|