2012年5月14日

Linux:修改ssh設定、root登入、更改port、密碼登入


 
相對於 windows 系列作業系統的遠端桌面連線,
Linux 系列的遠端通常用的就是 ssh 啦,
(當然也還是有人用沒加密的 telnet),
今天就是要來介紹一下 ssh 設定檔中常會需要修改的部份。

圖片來源:http://en.wikipedia.org/wiki/File:Gnome-fs-ssh.png

首先常用遠端連線到 Linux 操作的人大概都有個基本的 sense,
那就是在使用 ssh 之類的遠端連線服務儘量不要用 root 帳號登入,
雖然用 root 很方便,但因為 root 權限太大,萬一被入侵會很慘,
加上現在的 Linux 應該都可以用su, sudo之類的指令暫時取得 root 權限,
所以現在 ssh 登入時應該是可以不需要用到 root 這帳號的。

若要限制或允許 ssh 用 root 帳號登入,可以用以下的指令:
$ sudo vi /etc/ssh/sshd_config

# 以 /PermitRootLogin 搜尋
# 若要開放就修改為 yes, 不開放修改為 no
# 記得要將前面的 # 號去除
PermitRootLogin no

# 重啟 ssh 服務讓設定生效
$ sudo /etc/init.d/sshd restart

再來要介紹的是如何修改、新增或刪除 ssh 的 port:
$ sudo vi /etc/ssh/sshd_config

# 以 /Port 搜尋
# 若原先為已註解掉 #Port 22,修改時記得要將前面的 # 號去除
# 修改時直接把 22 改成其他數字即可,一次也可指定 ssh 同時聽多個 port
Port 22
Port 443

# 重啟 ssh 服務讓設定生效
$ sudo /etc/init.d/sshd restart

另外如果有使用 Amazon EC2 或對 ssh 更熟的人可能會知道,
那就是 ssh 也可以使用金鑰登入而不使用密碼,
若要更改這個設定,請修改以下參數:
$ sudo vi /etc/ssh/sshd_config

# 以 /PasswordAuthentication 搜尋
# yes 就是可使用密碼登入,不然就是只能用金鑰囉!像EC2為了安全預設就是no。
# 修改時記得要將前面的 # 號去除
PasswordAuthentication yes

# 重啟 ssh 服務讓設定生效
$ sudo /etc/init.d/sshd restart

以上簡單介紹,希望對大家有幫助,
當然在使用 ssh 方便之餘,還是要注意不要不小心幫駭客留了一扇門喔!

關鍵字:ssh, root, port,
參考資料:


更多精選推薦文章