Linux配置SSH免密登錄(公私鑰登錄)

環境說明

客戶機:Mac OS Xbash

服務器:CentOS 6.5服務器

客戶端:OpenSSH,OS X及大多數Linux都內置了OpenSSH.’ssh -v’命令能夠查看版本.ssh

大體流程

  • 1.在客戶機建立一對密鑰文件,包括公鑰文件(~/.ssh/id_rsa.pub),私鑰文件(~/.ssh/id_rsa).測試

  • 2.把公鑰放到服務器上(~/.ssh/authorized_keys),在使用ssh登陸時,ssh程序會發送私鑰去和服務器上的公鑰作匹配。若是匹配成功就能夠自動登陸了。spa

客戶機配置

  • 1.查看~/.ssh文件夾,若已經存在有公鑰文件(id_rsa.pub),私鑰文件(id_rsa),則能夠跳過客戶端配置.調試

  • 2.生成密鑰文件.rest

$ ssh-keygen
複製代碼

而後一路回車. 而後~/.ssh下會生成id_rsa.pub和id_rsa, 其中id_rsa文件起到惟一標識你的客戶機的做用.日誌

注意:不要改這兩個文件的文件名,ssh登錄時會讀取id_rsa文件.code

服務器配置

1.修改sshd配置文件(/etc/ssh/sshd_config).

找到如下內容,並去掉註釋符」#「cdn

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys
複製代碼

2.配置authorized_keys文件.

若’~/.ssh/authorized_keys’不存在,則創建.ssh文件夾和authorized_keys文件.

將上文中客戶機id_rsa.pub的內容拷貝到authorized_keys中.

PS:能夠在客戶機中執行命令來拷貝:

cat ~/.ssh/id_rsa.pub | ssh user@host 「cat - >> ~/.ssh/authorized_keys」
複製代碼

注意:

  • 1 .ssh目錄的權限必須是700
  • 2 .ssh/authorized_keys文件權限必須是600

3.重啓sshd.

$ /etc/init.d/sshd restart

測試

客戶機執行:ssh -v user@host (-v 調試模式)

會顯示一些登錄信息. 若登錄失敗,或者仍然要輸入密碼,能夠在服務器查看日誌文件:/var/log/secure.

若登錄成功,則之後就能夠用ssh user@host 直接登錄了,不用輸入密碼.


like
相關文章
相關標籤/搜索