透過 telnet 進行遠端登入是系統管理這最常使用的方式 ,
但是它有安全性上的缺點存在;因此,另一種方法則是透過ssh的方式進行遠端登入。
要進行SSH遠端登入,可以透過 Putty 或 Pietty 等遠端連線軟體連線進行連線。
但是前題是在 Ubuntu Linux Server 上必須支援 SSH Server。
而最方便的是安裝 OpenSSH Server。
裝openssh-server
如果你沒有安裝ubuntu時沒有安裝openssh,請以終端機介面輸入以下的指令來做安裝
sudo apt-get install openssh-server
接下來輸入以下指令來檢查 ssh-server 是否有執行,
ps aux | grep ssh啟動 ssh-server 的指令是,
sudo /etc/init.d/ssh start或重新啟動的指令是,
sudo /etc/init.d/ssh restart
遠端 Client 端連線方式
遠端Client是Linux,則質借透過終端機下指令,
sudo ssh localhost -p 22 -l root如果遠端Client是Windows,那就必須透過應用軟體,如 Putty 或 Pietty 。
為了安全性考量,建議將預設的port 22改為port 22222
修改完成之後,請存檔並離開
sudo vim /etc/ssh/sshd_config
再來找到
# 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當中沒出現的即可)修拐完成Port後,必須重新啟動OPENSSH Server
sudo less /etc/services
例如:22222這個port系統沒有使用,那你就將22改成22222,那這樣在連ssh時就必須將port改成22222,若維持22是連不進去的。
sudo /etc/init.d/ssh restart其他,
限制IP登入
再來,我們要修改可以登入這台主機的ip,否則任可一個ip都可以利用帳號登入,這是基本的防護。
sudo vim /etc/hosts.allow在最下方加入
sshd:xxx.xxx.xxx.xxx :allow
xxx就是指你的ip位置,包含你遠端要登入的ip(一般ADSL浮動ip則不適用,此方法只適用固定IP)。
拒絕所有IP登入
當你允許了你指定的IP可以登入,那其他的浮動IP就不讓他們登入了,避免不必要的麻煩和攻擊,
sudo vim /etc/hosts.deny加入 sshd:all:deny
如此一來,除了你允許的IP之外,其他的浮動IP就連不進來
sudo /etc/init.d/ssh stop一樣修改完成後,要重新啟動喔!
sudo /etc/init.d/ssh start
本文參考引用部分自:iT邦幫忙首頁、D掉不累格