linux服務(wù)器配置ssh免密登錄
1.生成ssh key
生成ssh key時(shí)同時(shí)指定保存的文件名
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "xx-email"
? 上面的id_rsa
就是我們指定的文件名徽龟,這時(shí)~/.ssh
目錄下會(huì)多出 id_rsa
和id_rsa.pub
兩個(gè)文件,id_rsa.pub
里保存的就是我們要使用的key钦扭。
2.配置config文件
個(gè)人本地的config( 沒有生成一個(gè)):
Host game
HostName 主機(jī)IP
User root
IdentityFile ~/.ssh/id_rsa
Host example # 關(guān)鍵詞,別名
HostName example.com # 主機(jī)地址
User root # 用戶名
IdentityFile ~/.ssh/id_rsa # 認(rèn)證文件
# Port 22 # 指定端口
? 192.168.10.?表示匹配 192.168.0.[0-9] 的 IP,是內(nèi)網(wǎng)服務(wù)器的地址,使用localtest
? 通過執(zhí)行 $ ssh example
我就可以登錄我的服務(wù)器耗啦。而不需要敲更多的命令 $ ssh root@example.com
凿菩。又如我們想要向服務(wù)器傳文件 $ scp a.txt example:/home/user_name
。比以前方便多了帜讲。
3.將我們生成的key傳到服務(wù)器
首先測(cè)試看能否使用密碼登錄到服務(wù)器
$ ssh username@remote-server
$ password
復(fù)制公鑰到服務(wù)器
$ ssh-copy-id username@remote-server 默認(rèn)端口是22,也可以指定
$ ssh-copy-id "-p 22 username@remote-server"
ssh-copy-id -i ~/.ssh/id_rsa.pub 服務(wù)器用戶名@服務(wù)器地址
查看公鑰與本地的是否一致,一致就說明匹配成功了
本地:
$ cat ~/.ssh/id_rsa.pub
remote-server
# cat ~/.ssh/authorized_keys
4. 測(cè)試是否免密配置成功
$ ssh game