首頁 > 軟體

SSH 使用金鑰登入並禁止口令登入實踐

2020-06-16 17:57:51

 

前言

無論是個人的VPS還是企業允許公網存取的伺服器,如果開放22埠的SSH密碼登入驗證方式,被眾多駭客暴力猜解捅破菊花也可能是經常發生的慘劇。企業可以通過防火牆來做限制,普通使用者也可能藉助修改22埠和強化弱口令等方式防護,但目前相對安全和簡單的方案則是讓SSH使用金鑰登入並禁止口令登入。

這是最相對安全的登入管理方式

 

生成PublicKey

建議設定並牢記passphrase密碼短語,以Linux生成為例

Linux:ssh-keygen -t rsa

[私鑰 (id_rsa) 與公鑰 (id_rsa.pub)]

Windows:SecurCRT/Xshell/PuTTY

[SSH-2 RSA 2048]

  1. #生成SSH金鑰對
  2. ssh-keygen -t rsa
  3. Generatingpublic/private rsa key pair.
  4. #建議直接回車使用預設路徑
  5. Enter file in which to save the key (/root/.ssh/id_rsa):
  6. #輸入密碼短語(留空則直接回車)
  7. Enter passphrase (empty forno passphrase):
  8. #重複密碼短語
  9. Enter same passphrase again:
  10. Your identification has been saved in/root/.ssh/id_rsa.
  11. Yourpublic key has been saved in/root/.ssh/id_rsa.pub.
  12. The key fingerprint is:
  13. aa:8b:61:13:38:ad:b5:49:ca:51:45:b9:77:e1:97:e1 root@localhost.localdomain
  14. The key's randomart image is:
  15. +--[ RSA 2048]----+
  16. | .o. |
  17. | .. . . |
  18. | . . . o o |
  19. | o. . . o E |
  20. |o.= . S . |
  21. |.*.+ . |
  22. |o.* . |
  23. | . + . |
  24. | . o. |
  25. +-----------------+

 

複製金鑰對

也可以手動在用戶端建立目錄和authorized_keys,注意修改許可權

  1. #複製公鑰到無密碼登入的伺服器上,22埠改變可以使用下面的命令
  2. #ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 10022 user@server"
  3. ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.15.241

 

修改SSH組態檔

  1. #編輯sshd_config檔案
  2. vi /etc/ssh/sshd_config
  3. #禁用密碼驗證
  4. PasswordAuthenticationno
  5. #啟用金鑰驗證
  6. RSAAuthentication yes
  7. PubkeyAuthentication yes
  8. #指定公鑰資料庫檔案
  9. AuthorsizedKeysFile.ssh/authorized_keys

重新啟動SSH服務前建議多保留一個對談以防不測

  1. #RHEL/CentOS系統
  2. service sshd restart
  3. #Ubuntu系統
  4. service ssh restart
  5. #debian系統
  6. /etc/init.d/ssh restart

 

手動增加管理使用者

可以在== 後加入使用者注釋標識方便管理

  1. echo 'ssh-rsa XXXX'>>/root/.ssh/authorized_keys
  2. # 複查
  3. cat /root/.ssh/authorized_keys

SSH服務遠端存取Linux伺服器登陸慢 http://www.linuxidc.com/Linux/2011-08/39742.htm

提高Ubuntu的SSH登陸認證速度的辦法 http://www.linuxidc.com/Linux/2014-09/106810.htm

開啟SSH服務讓Android手機遠端存取 Ubuntu 14.04  http://www.linuxidc.com/Linux/2014-09/106809.htm

如何為Linux系統中的SSH新增雙重認證 http://www.linuxidc.com/Linux/2014-08/105998.htm

在 Linux 中為非 SSH 使用者設定 SFTP 環境 http://www.linuxidc.com/Linux/2014-08/105865.htm

Linux 上SSH 服務的設定和管理 http://www.linuxidc.com/Linux/2014-06/103627.htm

SSH入門學習基礎教學 http://www.linuxidc.com/Linux/2014-06/103008.htm

SSH免密碼登入詳解  http://www.linuxidc.com/Linux/2015-03/114709.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-07/119608.htm


IT145.com E-mail:sddin#qq.com