Monday May 20, 2024

Openssh 服務端檔案sshd_config參數設定

對於資訊相關從事人員來說,SSH(Secure shell)應該一點都不會陌生,使用簡易又快速的指令或腳本進行排程、觸發、檢測或備份等工作,非常便利。

當我剛開始轉職做資訊相關工作的時候,我總覺得沒有GUI的話究竟要如何使用指令去處理或檢視電腦的相關問題或設定,然後慢慢的我理解到所有的東西都是由指令開始,GUI只是讓不習慣CLI的人可快速了解跟使用,但會增加風險跟主機負載。

在網路發展的早期使用終端機是明碼傳輸,就是說只要在網路上截取到你的傳輸資料就可以知道你的帳號密碼等等資訊,然而跟著網路的使用越來越普及,資料保密就越來越重要,於是開始了加密傳輸,所以SSH(Secure shell)就因此誕生。

使用ssh的使用因為不需要開啟太多不必要的圖形介面程式所以也相對快速、安全跟減少主機負載,但也並非沒有缺點,就是要知道的指令夠多夠熟才行,比如要使用ssh去命令伺服器去建立新的VMCT,那指令長度就真的滿恐怖的@@,不過也可以寫好腳本之後使用漸進式的問答來完成,所以我認為SSHGUI並沒有絕對的好壞,而是看如何應用。

以下是將會陸續完成的關於SSH的介紹,如果有想知道但我這邊沒有說明到的也可以跟我說喔(聯結),也歡迎糾正錯誤跟討論。

  1. Openssh 客戶端檔案ssh_config參數設定。

  2. Openssh 服務端檔案sshd_config參數設定。

  3. sshd登入的方式。(密碼、憑證跟TOTP)(待補)

  4. 登入通知。(待補)

  5. 登入失敗通知與鎖定(fail2ban)(待補)

  6. 使用sshpass做腳本給遠端電腦下指令(待補)

  7. 使用ssh通道做資料備份:Rsync(待補)

  8. 使用ssh通道做資料備份:scp(待補)

  9. 使用ssh_config設定快速連線(待補)

 

 

之前有大概說明了關於openssh 客戶端設定檔ssh_config的設定相關參數,如果沒有看過請參閱本篇(Openssh 客戶端檔案ssh_config參數設定。),

而本編將會說明openssh的服務端程式設定檔sshd_config等設定參數做說明,還有如何安裝等等。

  1. 安裝openssh-server跟設定檔位置
  2. sshd_config的參數說明

Ubuntu16.04之前,我都會使用apt安裝openssh後在進行設定sshd_config,從Ubuntu18.04開始,安裝系統時我就會直接安裝openssh,如果沒有安裝的人可以輸入

#sudo apt install openssh-server

使用apt安裝openssh-server

安裝好後到/etc/ssh/資料夾中會看到一些憑證跟設定檔,

#ls /etc/ssh

在/etc/ssh 資料夾中找到相關的設定檔

在使用vi近檢視sshd_config的設定檔。

#vi /etc/ssh/sshd_config

sshd_config的相關設定參數非常多,但並不會都用到,如果有任何疑問或想法歡迎提出討論,有錯誤的部份也請告知,感謝︿︿

sshd_config(伺服端)的設定參數如下:

  1. Port 22
    監聽的埠位,預設為22
  2. AddressFamily any
    選擇IP類型,any是都可以,inet是指IPV4inet6是指IPV6
  3. ListenAddress 0.0.0.0
    可以連線IP位置。
  4. HostKey /etc/ssh/ssh_host_rsa_key
    主機金鑰使用路徑。
  5. RekeyLimit default none
    重新建立密鑰之前的最大資料傳輸量或時間。
  6. SyslogFacility AUTH
    是否要將sshd 的訊息使用facility code做紀錄。
  7. LogLevel Info
    設定紀錄的類型,有QUIETFATALERRORINFOVERBOSEDEBUGDEBUG1DEBUG2 DEBUG3,預設info
  8. LoginGraceTime 2m
    設定連上ssh後使用者若沒有完成登入會斷線。
  9. PermitRootLogin prohibit-password
    是否允許ROOT帳號登入。
  10. StrictModes Yes
    連線時檢查使用端電腦相關資料夾或檔案權限設定是否安全。
  11. MaxAuthtries 6
    每次連線的登入測試次數。
  12. MaxSession 10
    ssh
    同時最多的連線數。
  13. PubkeyAuthentication yes
    允許使用證書登入。
  14. AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
    證書檔案路徑。
  15. HostbasedAuthentication no
    指定rhosts/etc/hosts.equiv是否與金鑰認證一起允許。
  16. IgnoreUserKnownHosts no
    是否忽略~/.ssh/known_hosts檔案。
  17. IgnoreRhosts yes
    是否忽略使用者的~/.rhosts~/.shosts檔案。
  18. PasswordAuthentication yes
    是否使用密碼認證。
  19. PermitEmptyPasswords no
    是否可以使用空白密碼。
  20. ChallengeResponseAuthentication no
    是否啟用互動式登入,TOTP需要開啟。
  21. KerberosAuthentication no
    是否使用Kerberos協定登入。
  22. KerberosOrLocalPasswd yes
    是否同時使用Kerberos或本地密碼登入。
  23. KerberosTicketCleanup yes
    是否在登出時清除使用者登入的暫存票證。
  24. KerberosGetAFSToken no
    是否要取得AFS憑證。
  25. GSSAPIAuthentication no
    是否開啟使用GSSAPI認證。
  26. GSSAPICleanupCredentials yes
    是否在登出時清除到登入時的暫存憑證。
  27. GSSAPIStrictAcceptorCheck yes
    開啟後除了驗證身份以外還會認證主機名稱,預設開啟。
  28. GSSAPIKeyExchange no
    開啟使用GSSAPI金鑰交換。
  29. UsePAM yes
    使否使用PAM文件。
  30. AllowAgentForwarding yes
    是否允許轉發代理。
  31. AllowTcpForwarding yes
    是否開啟TCP轉發。
  32. GatewayPorts no
    是否開啟遠程轉發。
  33. X11Forwarding yes
    是否開啟X11轉發。
  34. X11DisplayOffset 10
    選擇X11顯示術。
  35. X11UseLocalhost yes
    X11
    是否使用本機顯示。
  36. PermitTTY yes
    是否允取終端機。
  37. PrintMotd no
    是否在螢幕顯示Motd檔案。
  38. PrintLastLog yes
    顯示上次最後一次登入。
  39. TCPKeepAlive yes
    TCP
    要一直保持連線。
  40. PermitUserEnvironment no
    是否使用可戶端環境設定參數。
  41. Compression delayed
    是否啟用壓縮以節省頻寬,有yesdelayno
  42. ClientAliveInterval 0
    設定閒置斷線時間。
  43. ClientAliveCountMax 3
    設定用戶端閒置斷線計算次數。
  44. UseDNS no
    如果啟用就可以用主機名稱或IP進行連線。
  45. PidFile /var/run/sshd.pid
    程序處理檔案位置路徑。
  46. MaxStartups 10:30:100
    未完成認證的最大連線量比例設定。
  47. PermitTunnel no
    是否允許使用tun device
  48. ChrootDirectory none
    允許使用代幣%%%h%U%u.
  49. VersionAddendum none
    是否需要顯示版本目錄。
  50. Banner none
    是否開啟登入顯示訊息
  51. AcceptEnv LANG LC_*
    是否允許使用客戶端環境設定參數。
  52. Subsystem sftp /usr/lib/openssh/sftp-server
    開啟衍伸系統。
  53. ForceCommand cvs server

本篇與上一篇介紹了sshd_config跟ssh_config的參數之後,下一篇開始將開始說明ssh的實務操作,如果有希望可以了解或知道什麼訊息的也歡迎告訴我喔^^(連結)

謝謝分享
Ron

Ron

喜歡固定但多變的生活模式,喜歡思考跟分享生活點滴,歡迎隨時找我聊聊喔!!關於作者

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Back to Top