2010年8月15日 星期日

ubuntu SSH遠端安全連線安裝及設定


安裝openssh-server
如果你沒有安裝ubuntu時沒有安裝openssh,請用以下熟悉的指令來做安裝

sudo apt-get install openssh-server

使用Pietty遠端來檢查是否有執行這個ssh-server,輸入以下指令

ps aux | grep ssh

設定ssh_config內容

sudo vim /etc/ssh/sshd_config

ubuntu本身就有限制root的登入,因此是沒有特別的意義,但還是可以修改以防萬一

#PermitRootLogin Yes 
改成
PermitRootLogin no

再來找到
# What ports, IPs and protocols we listen for (約第4、5行)
Port 22

可將預設的port改成系統未在使用的port,因為系統預設都會有一些連接port,例如:ftp是port21、web是port80、smtp是port25、ssh是port22、telnet是port23等等,那你要怎麼知道哪些被使用呢?鍵入下列的指令吧。
(port的內容相當多,在一個區段內找一個數字,只要在services當中沒出現的即可)

sudo less /etc/services

例如:91這個port系統沒有使用,那你就將22改成91,那這樣在連ssh時就必須將port改成91,若維持22是連不進去的。



拒絕所有IP登入
當你允許了你指定的IP可以登入,那其他的浮動IP就不讓他們登入了,避免不必要的麻煩和攻擊

sudo vim /etc/hosts.deny

加入 sshd:all:deny


限制IP登入
再來,我們要修改可以登入這台主機的ip,否則任可一個ip都可以利用帳號登入,這是基本的防護。

sudo vim /etc/hosts.allow

在最下方加入
sshd:xxx.xxx.xxx.xxx :allow

xxx就是指你的ip位置,包含你遠端要登入的ip(一般ADSL浮動ip則不適用,此方法只適用固定IP)。若你是ADSL,但又想要登入主機上工作修改,那可以到中華電信的固定IP申請頁面,線上申請後可以馬上使用,雖然不是真的固定IP,但是可以讓你工作方便才是最重要的。

如此一來,除了你允許的IP之外,其他的浮動IP就連不進來

sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start

一樣修改完成後,要重新啟動喔!



參考資料:D掉不累格