最近使用ssh遠(yuǎn)程登錄服務(wù)器每次都要輸入密碼實(shí)在是太麻煩了,我這個(gè)懶人就想到了查了一下怎么用ssh-key來實(shí)現(xiàn)我的夢(mèng)想笑旺。
使用密鑰來登錄
原理如下:
客戶端向服務(wù)器發(fā)出請(qǐng)求系羞。服務(wù)器收到請(qǐng)求之后柑肴,先在用戶的主目錄下找到該用戶的公鑰灼芭,然后對(duì)比用戶發(fā)送過來的公鑰。如果一致竹海,服務(wù)器用公鑰加密“質(zhì)詢”并發(fā)送給客戶端慕蔚。客戶端收到“質(zhì)詢”后用私鑰解密斋配,再發(fā)還給服務(wù)器孔飒。認(rèn)證結(jié)束灌闺。
$ ssh-keygen -t rsa -C "name" # name 是這個(gè)密鑰的名稱 也可以不用
這步會(huì)在會(huì)在 ~.ssh
下生成id_rsa
, id_rsa.pub
兩個(gè)文件,分別是 私鑰/公鑰坏瞄。
之后我們需要把公鑰放到服務(wù)器的~/.ssh/authorized_keys
中桂对,私鑰在本地客戶端保存。
要保證 .ssh
和 authorized_keys
都只有用戶自己有寫權(quán)限鸠匀。否則驗(yàn)證無效蕉斜。
$ chmod -R 700 ~/.ssh/ # 客戶端
$ chmod 600 ~/.ssh/authorized_keys #服務(wù)端
ssh_config配置
ssh client的參數(shù)來源
SSH Client的參數(shù)值來源主要有3個(gè),分別是“命令行配置”缀棍,~/.ssh/config
和/etc/ssh/ssh_config
宅此。 優(yōu)先級(jí)從高到低。
Host baiduyun # 代稱
HostName # 域名地址
Port # 端口
IdentityFile # 密鑰位置
User # 登錄用戶
好了配置完成爬范。
ssh baiduyun
即可登錄相應(yīng)服務(wù)器