公司為了安全,一直都采用PublicKey文件的方式登陸遠程SSH,現在有了自己的服務器,自己又學者配了一把,下面就是配置筆記。
生成DSA類型的PublicKey文件
Linux: ssh-keygen -t dsa
Windows: SecurCRT
將生成的.pub公鑰文件拷貝到~/.ssh/目錄下,並重命名為authorized_keys,如果已經存在authorized_keys,那么就新建一行將公鑰文件的內容拷貝進去。修改authorized_keys權限為600(很重要,如果權限不安全,則無法使用該功能)
驗證登陸是否正確,在ssh客戶端配置登陸方式由password改為publickey,文件使用生成的公鑰文件即可,不過,putty比較特殊,稍后會專門講解。
如果登陸失敗,請檢查ssh配置文件(/etc/ssh/sshd_config)中的PubkeyAuthentication是否為yes。
如果驗證成功的話就可以關閉密碼登陸方式了,編輯/etc/ssh/sshd_config,將PasswordAuthentication改為no,ChallengeResponseAuthentication改為no,不過需要重啟sshd(service sshd restart)后才能生效。
關於putty的登陸設置,由於putty與ssh2的key文件不同,所以要用puttygen.exe轉換一下,運行puttygen.exe,選擇Conversions->Import key,選擇privateKey文件,注意這里要選privatekey文件,而不是前面用的publickey文件,最后選擇"save private key"將密鑰保存為.ppk文件,這個就是putty需要的key文件。
運行putty,填寫完session信息后,到connection->ssh->auth中指定好privatekey文件即可,當然也可以在connection->data中設置上auto-login username