如何配置openSSH

來源:互聯網
上載者:User

(1)與SSH有關的設定檔  openSSH的設定檔案和主要檔案存放在/etc/ssh/目錄中,主要包括如下檔案:  /etc/ssh/sshd_config:sshd伺服器的設定檔案  /etc/ssh/ssh_config:ssh客戶機的設定檔案  /etc/ssh/ssh_host_key:SSH1用的RSA私密金鑰  /etc/ssh/ssh_host_key.pub:SSH1用的RSA公開金鑰  /etc/ssh/ssh_host_rsa_key:SSH2用的RSA私密金鑰  /etc/ssh/ssh_host_rsa_key.pub:SSH2用的RSA公開金鑰  /etc/ssh/ssh_host_dsa_key:SSH2用的DSA私密金鑰  /etc/ssh/ssh_host_dsa_key.pub:SSH2用的DSA公開金鑰  (2)配置“/etc/ssh/ssh_config”檔案  “/etc/ssh/ssh_config”檔案是OpenSSH系統範圍的設定檔,允許使用者通過設定不同的選項來改變用戶端程式的運行方式。這個檔案的每一行包含“關鍵詞-值”的匹配,其中“關鍵詞”是忽略大小寫。下面列出最重要的關鍵詞,用man命令查看協助頁(ssh(1))可以得到詳細的列表。  配置須要編輯“ssh_config”檔案(vi /etc/ssh/ssh_config),添加或改變下面的參數:  # Site-wide defaults for various options  Host *  ForwardAgent no  ForwardX11 no  RhostsAuthentication no  RhostsRSAAuthentication no  RSAAuthentication yes  PasswordAuthentication yes  FallBackToRsh no  UseRsh no  BatchMode no  CheckHostIP yes  StrictHostKeyChecking no  IdentityFile ~/.ssh/identity  Port 22  Cipher blowfish  EscapeChar ~  下面逐行說明上面的選項設定:  Host *:只對能夠匹配後面字串的電腦有效。“*”表示所有的電腦。  ForwardAgent no:“ForwardAgent”設定串連是否經過驗證代理(如果存在)轉寄給遠端電腦。  ForwardX11 no:設定X11串連是否被自動重新導向到安全的通道和顯示集(DISPLAY set)。  RhostsAuthentication no:是否用基於rhosts的安全驗證。  RhostsRSAAuthentication no:是否用RSA演算法的基於rhosts的安全驗證。  RSAAuthentication yes:是否用RSA演算法進行安全驗證。  PasswordAuthentication yes:是否用口令驗證。  FallBackToRsh no:如果用ssh串連出現錯誤是否自動使用rsh。  UseRsh no:是否在這台電腦上使用“rlogin/rsh”。  BatchMode no:如果設為“yes”,passphrase/password(互動式輸入口令)的提示將被禁止。當不能互動式輸入口令的時候,這個選項對指令檔和批處理任務十分有用。  CheckHostIP yes:設定ssh是否查看串連到伺服器的主機的IP地址以防止DNS欺騙。建議設定為“yes”。  StrictHostKeyChecking no:如果設定成“yes”,ssh就不會自動把電腦的密鑰加入“$HOME/.ssh/known_hosts”檔案,並且一旦電腦的密鑰發生了變化,就拒絕串連。  IdentityFile ~/.ssh/identity:設定從哪個檔案讀取使用者的RSA安全驗證標識。  Port 22:設定串連到遠程主機的連接埠。  Cipher blowfish:設定加密用的密碼。  EscapeChar ~:設定escape字元。  假定使用者在www.super.com上有一個名為“baby”的帳號。而且要把“ssh-agent”和“ssh- add”結合起來使用並且使用資料壓縮來加快傳輸速度。因為主機名稱太長了,想使用“super”作為“www.super.com”的簡稱。那麼,設定檔可以如下編寫:  Host *super  HostName www.super.com  User baby  ForwardAgent yes  Compression yes  # Be paranoid by default  Host *  ForwardAgent no  ForwardX11 no  FallBackToRsh no  當使用者輸入“ssh super”之後,SSH會自動地從設定檔中找到主機的全名,使用使用者名稱登入並且用“ssh-agent”管理的密鑰進行安全驗證。  (3)配置“/etc/ssh/sshd_config”檔案  “/etc/ssh/sshd_config”是OpenSSH的設定檔,允許設定選項改變這個daemon的運行。這個檔案的每一行包含“關鍵詞-值”的匹配,其中“關鍵詞”是忽略大小寫。下面列出來的是最重要的關鍵詞,用man命令查看協助頁(sshd(8))可以得到詳細的列表。  編輯“sshd_config”檔案(vi /etc/ssh/sshd_config),加入或改變下面的參數:  # This is ssh server systemwide configuration file.  Port 22  ListenAddress 192.168.1.1  HostKey /etc/ssh/ssh_host_key  ServerKeyBits 1024  LoginGraceTime 600  KeyRegenerationInterval 3600  PermitRootLogin no  IgnoreRhosts yes  IgnoreUserKnownHosts yes  StrictModes yes  X11Forwarding no  PrintMotd yes  SyslogFacility AUTH  LogLevel INFO  RhostsAuthentication no  RhostsRSAAuthentication no  RSAAuthentication yes  PasswordAuthentication yes  PermitEmptyPasswords no  AllowUsers admin  下面逐行說明上面的選項設定:  Port 22:“Port”設定sshd監聽的連接埠號碼。  ListenAddress 192.168.1.1:“ListenAddress”設定sshd伺服器綁定的IP地址。  HostKey /etc/ssh/ssh_host_key:“HostKey”設定包含電腦私人密鑰的檔案。  ServerKeyBits 1024:“ServerKeyBits”定義伺服器密鑰的位元。  LoginGraceTime 600:“LoginGraceTime”設定如果使用者不能成功登入,在切斷串連之前伺服器需要等待的時間(以秒為單位)。  KeyRegenerationInterval 3600:“KeyRegenerationInterval”設定在多少秒之後自動重建伺服器的密鑰(如果使用密鑰)。重建密鑰是為了防止用盜用的密鑰解密被截獲的資訊。  PermitRootLogin no:“PermitRootLogin”設定root能不能用ssh登入。這個選項一定不要設成“yes”。  IgnoreRhosts yes:“IgnoreRhosts”設定驗證的時候是否使用“rhosts”和“shosts”檔案。  IgnoreUserKnownHosts yes:“IgnoreUserKnownHosts”設定ssh daemon是否在進行RhostsRSAAuthentication安全驗證的時候忽略使用者的“$HOME/.ssh/known_hosts”。  StrictModes yes:“StrictModes”設定ssh在接收登入請求之前是否檢查使用者的目錄和rhosts檔案的許可權和所有權。這通常是必要的,因為新手經常會把自己的目錄和檔案設成任何人都有寫入權限。  X11Forwarding no:“X11Forwarding”設定是否允許X11轉寄。  PrintMotd yes:“PrintMotd”設定sshd是否在使用者登入的時候顯示“/etc/motd”中的資訊。  SyslogFacility AUTH:“SyslogFacility”設定在記錄來自sshd的訊息的時候,是否給出“facility code”。  LogLevel INFO:“LogLevel”設定記錄sshd日誌訊息的層次。INFO是一個好的選擇。查看sshd的man協助頁,可以擷取更多的資訊。  RhostsAuthentication no:“RhostsAuthentication”設定只用rhosts或“/etc/hosts.equiv”進行安全驗證是否已經足夠了。  RhostsRSAAuthentication no:“RhostsRSA”設定是否允許用rhosts或“/etc/hosts.equiv”加上RSA進行安全驗證。  RSAAuthentication yes:“RSAAuthentication”設定是否允許只有RSA安全驗證。  PasswordAuthentication yes:“PasswordAuthentication”設定是否允許口令驗證。  PermitEmptyPasswords no:“PermitEmptyPasswords”設定是否允許用口令為空白的帳號登入。  AllowUsers admin:“AllowUsers”的後面可以跟著任意的數量的使用者名稱的匹配串(patterns)或user@host這樣的匹配串,這些字串用空格隔開。主機名稱可以是DNS名或IP地址

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.