大部份的 ssh daemon 設定檔都是放在 /etc/ssh/sshd_config, 於 ssh 本身來說, 它自己就是一個安裝的遠端登入機制, 在您傳送的任何一筆資料都給予加密, 讓資料傳送之間更為安全. 但是政策上的考量, 安全的規劃上, 有些原本的條件可能太過於開放, 所以在此提供一些小技巧, 來達到更符合客制化的 ssh 環境.
以下的修改檔都是在 /etc/ssh/sshd_config, 而在修改完之後請重新啟動 sshd:
[root@rhel
ssh]# service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ] [root@rhel ssh]# |
預設 sshd 是聆聽 port 22 的連接埠, 如果要更改請使用 Port 參數, Port 語法後面接著要讓 sshd 聆聽的連接埠口, 如果要一次聆聽多個, 那麼就再使用 Port 指定其它的連接埠, 以下會讓 sshd 重新聆聽 22 和 1234 的 Port.
Port 22 Port 1234 |
[root@rhel ssh]# netstat -ntulp | egrep '(sshd)|(PID)'
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 9769/sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 9769/sshd
[root@rhel ssh]#
|
root 是個強而有力的帳號, 管理習慣上, 應該要避免使用 root 直接登入, 這樣可以養成使用一般權限登入的習慣, 另一個好處也是可以避免被使用字典攻擊 (即使用 root 帳號為主, 不斷猜測密碼). 下面的方法會讓 root 無法使用 ssh 登入.
PermitRootLogin no |
預設 sshd 是聆聽所有的 IP 位置 (0.0.0.0), 也包含 127.0.0.1 的本機 loop back IP, 如果要指定 sshd 只聆聽某個特定的 IP 時, 使用 ListenAddress 就可以達成, 大部份會這麼做的原因可能是在一台 Linux Getway 的主機上限制只有某些網段的 IP 才可以使用 sshd 登入. 下面的示範會讓主機聆聽 11.22.33.44 和 192.168.1.1 的介面 (不包含 127.0.0.1)
ListenAddress 11.22.33.44 ListenAddress 192.168.1.1 |
[root@siva ssh]# netstat -ntulp | egrep '(sshd)|(PID)'
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 11.22.33.44:6211 0.0.0.0:* LISTEN 9839/sshd
tcp 0 0 192.168.1.1:6211 0.0.0.0:* LISTEN 9839/sshd
tcp 0 0 11.22.33.44:22 0.0.0.0:* LISTEN 9839/sshd
tcp 0 0 192.168.1.1:22 0.0.0.0:* LISTEN 9839/sshd
[root@siva ssh]#
|
沒有留言:
張貼留言