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掉不累格