由於 SSH 連線經過加密, 所以連接到 Unix Like 伺服器一般會用 SSH, 以下是一些關於 SSH 伺服器的安全設定:
SSH 伺服器的設定檔是 /etc/ssh/sshd_config,開啟並修改以下內容:
1. SSH 預設埠號是 22,將它改成其他的埠號,例如我改成 22022, 找到:
Port 22
換成:
Port 22022
2. 將 root 禁止登入, 要用 root 權限時, 要先用其他帳號登入, 再用 su 指令切換到 root, 或者用 sudo。
把 PermitRootlogin 設成 no:
PermitRootlogin no
3. 開啟用作管理伺服器的帳號, 只准許該帳號或群組登入 SSH, 其他帳號不可以登入, 以下是准許 my_name 用戶及 my_group 群組登入:
AllowUsers my_name
AllowGroups my_group
4. 如果帳號是空密碼, 禁止登入:
PermitEmptyPasswords no
5. SSH 有兩種通訊協定版本, 只開啟 Protocol 2 版本:
Protocol 2
6. 使用金鑰登入, 設定很容易, 而且儲存了 private key 在工作站, 不用每次都輸入密碼。先要在工作站設定, 在 Linux 設定 public key 及 private key 可以用以下指令:
這時會建立兩個檔案作為 private key 及 public key:
~/.ssh/id_rsa -> private key
~/.ssh/id_rsa.pub -> public key
然後將 id_rsa.pub (public key) 上載到伺服器, 例如伺服器在 192.168.1.100:
這個指令會將 public key 儲存到伺服器 ~/.ssh/authorized_keys/ 內。
然後回到伺服器端, 開啟 SSH 設定檔 /etc/ssh/sshd_config, 將以下一行的注解取消, 即改成:
AuthorizedKeysFile %h/.ssh/authorized_keys
最後儲存檔案,並重新啟動 SSH 伺服器: