1.本地設置
我們假設原來在~/.ssh目錄下已經生成了一個密鑰對:
id_rsa
id_rsa.pub
1.1 生成第二個key
接下來我們生成第二個ssh key:
ssh-keygen -t rsa -C "yourmail@mail.com"
這里不要一路回車,我們自己手動填寫保存路徑:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/layne/.ssh/id_rsa)): /home/layne/.ssh/id_rsa/id_rsa_server
<剩下兩個直接回車>
這里我們用id_rsa_github來區別原有密鑰對,避免被覆蓋。
完成之后,我們可以看到~/.ssh目錄下多了兩個文件,變成:
id_rsa
id_ras.pub
id_rsa_server
id_rsa_server.pub
known_hosts
1.2 添加私鑰
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_server
如果提示文件或目錄不存在,就使用絕對地址。
1.3 創建config文件
在~/.ssh目錄下創建名為config的文件。
添加一下內容:
# gitlab
Host git.example.com
HostName git.example.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
# server
Host server-alias # server-alias為SSH鏈接的服務器別名
HostName server-ip # 服務器地址
Port 22
User username # 服務器端用戶名
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_server # 私鑰地址,默認為 ~/.ssh/id_rsa
其中,Host和HostName填寫服務器的域名。
IdentityFile指定私鑰的路徑。
在github和gitlab上添加公鑰即可。
2.拷貝公鑰
scp ~/.ssh/id_rsa_server.pub username@hostname.com:~/.ssh/
如果.ssh目錄尚未建立,需要先創建并且修改權限:
3.服務器設置
mkdir ~/.ssh
chmod 700 ~/.ssh
如果authorized_keys文件是新創建的,需修改文件權限
chmod 600 ~/.ssh/authorized_keys
在服務器上添加公鑰
cat ~/.ssh/id_rsa_server.pub >> ~/.ssh/authorized_keys
驗證是否設置成功
ssh username@server-ip
ssh server-alias
如果登錄未成功,請仔細檢查每項的配置是否正確。
http://www.lxweimin.com/p/03effb53705c
https://www.awaimai.com/2200.html