Xshell配置ssh免密碼登陸

    在阿里雲有購買一臺服務器,一直都使用口令的認證方式。雖然一直沒有出現什麼問題(阿里雲有云盾),但總以爲這種登錄方式欠妥。由於公司通常都用密鑰認證的登錄方式。因而今天也把本身服務器的登錄方式換成了祕鑰的登錄方式。整個過程沒有難點,寫這個blog主要是記錄下。git

    使用密鑰認證分3步:
shell

  1. 生成密鑰安全

  2. 放置密鑰、配置ssh服務器

  3. 配置ssh客戶端使用密鑰登錄  ssh

一  生成密鑰

    1.使用Xshell生成密鑰      

能夠經過上面任意一種方式生成密鑰;阿里雲

完成以後把生成的密鑰保存爲文件spa

保存爲 id_rsa.pub (公鑰)rest

    2.使用git生成密鑰

      運行命令 ssh-keygen -t -rsa
code

      

二 放置公鑰到服務器、設置ssh

使用到Xshell登陸到服務器,進入到「/root/.ssh/」目錄blog

將id_rsa.pub發送到服務器,而後運行以下命令,將公鑰(Public Key)導入到「authorized_keys」文件:

[root@yearnfar ~]# cd /root/.ssh/
[root@yearnfar .ssh]# cat id_rsa.pub >> authorized_keys
[root@yearnfar .ssh]# chmod 600 authorized_keys
[root@yearnfar .ssh]# chown yearnfar:yearnfar authorized_keys  # 用戶、用戶組改爲本身的

驗證登錄是否正確,在ssh客戶端配置登錄方式由password改成publickey,文件使用生成的公鑰文件便可

若是登錄失敗,請檢查ssh配置文件(/etc/ssh/sshd_config)中的PubkeyAuthentication是否爲yes。

若是驗證成功的話就能夠關閉密碼登錄方式了,編輯/etc/ssh/sshd_config,將PasswordAuthentication改成no,ChallengeResponseAuthentication改成no

重啓sshd(service sshd restart)

PS: 

       1. 要確保目錄 .ssh 屬於當前用戶而且權限是700 

       2. 確保文件 authorized_keys 屬於當前用戶而且權限是600

        /home/user 目錄也必須是700!!!若是你用root改過它權限,也會致使登錄不了

        

三 設置ssh客戶端登錄

四 關於安全方面的一些建議

      使用密鑰認證登錄,不要去設置root的密鑰認證,能夠經過其餘用戶使用su或者sudo得到超級管理員權限

相關文章
相關標籤/搜索