centos7設置ssh免密碼登陸(證書認證)


無密碼登陸,其實是指通過證書認證的方式登陸,使用"公私鑰"認證的方式來進行ssh登錄。

  • "公私鑰"認證方式原理

1、首先在client上創建一對公私鑰,

公鑰文件:~/.ssh/id_rsa.pub

私鑰文件:~/.ssh/id_rsa

2、然后把公鑰放到server上

~/.ssh/authorized_keys

3、client登錄server過程

client保留私鑰,在使用ssh登錄server時,ssh程序發送私鑰去和server上的公鑰做匹配,若匹配成功則可以登錄。

  • centos7配置證書驗證登陸步驟

a、未設置前,需要密碼進行登陸

b、確認系統已安裝OpenSSH的server 和client

rpm -qa|grep openssh

c、注釋掉sshd的配置文件如下三行,並重啟sshd

  $ vi /etc/ssh/sshd_confi

  #RSAAuthentication yes
  #PubkeyAuthentication yes
  #AuthorizedKeysFile .ssh/authorized_keys

  $ /bin/systemctl restart  sshd.service      ---重啟sshd

d、生成證書公私鑰

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

 e、證書放置

cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

 

f、修改authorized_keys權限

chmod 600 ~/.ssh/authorized_keys

不安全的設置,將不能使用RSA功能

g、測試登錄

ssh -lstack localhost

  • 免認證登陸遠程服務器

方法一:
  $cat ~/.ssh/id_rsa.pub | ssh 遠程用戶名@遠程服務器ip `cat - >> ~/.ssh/authorized_keys`
方法二:
  在本機上執行:
  $ scp ~/.ssh/id_dsa.pub 遠程用戶名@遠程服務器ip:/home/stack/
  登陸遠程服務器后執行:
  $ cat /home/stack/id_dsa.pub >> ~/.ssh/authorized_keys

  修改文件authorized_keys的權限

  $ chmod 600 ~/.ssh/authorized_keys

  • 排障命令及log

ssh -v -lstack localhost     顯示詳細的登陸信息

tail /var/log/secure -n 20     查看系統的日志文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM