一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第8天,点击查看活动详情。
前言
ssh config配置文件的基本格式
Host : hostName的别名
HostName: 是目标主机的主机名,也就是平时我们使用ssh后面跟的地址名称。
Port:指定的端口号。
User:指定的登陆用户名。
IdentifyFile:指定的私钥地址。
复制代码
Mac 使用~/.ssh 的config 配置GitHub SSH keys: https://kunnan.blog.csdn.net/article/details/78234772
I 使用ssh config配置文件来管理ssh连接
1.1 例子
# Private 192.168.2.125
Host iPhone
HostName 192.168.2.125
User root
IdentityFile ~/.ssh/id_rsa_Theos125
# Private gitlab.v6h5.
Host gitlab.v6h5.cn
HostName gitlab.v6h5.
User git
IdentityFile ~/.ssh/id_rsa_qinbaowan
复制代码
1.2 注意事项
- 一定要记得配置Host 否则会导致其他的连接不上:`Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
`
$ ssh iPhone
[email protected]'s password:
iPhone:~ root#
复制代码
将公钥传送到远程主机host上面
ssh-copy-id 记得指定认证文件
ssh-copy-id -i id_rsa_Theos125 [email protected]
复制代码
II 私钥文件的权限设置
常见问题:Permissions 0640 for '/Users/mac/.ssh/qctmac_id_rsa' are too open.
该文件不能被其他人访问,只要将所属组和其他人的read权限取消即可。
➜ .ssh chmod 600 qctmac_id_rsa
➜ .ssh chmod 644 qctmac_id_rsa.pub
-rw-r--r--@ 1 mac staff 742 4 7 18:03 qctmac_id_rsa.pub
-rw-------@ 1 mac staff 3434 4 7 18:03 qctmac_id_rsa
复制代码
III 前置知识: 免密码进行SSH连接
-
创建rsa:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
-
配置config:
➜ .ssh touch config
-
使用pbcopy或者ssh-copy-id进行拷贝公钥到对应的远程服务器
➜ .ssh pbcopy < ~/.ssh/qctmac_id_rsa.pub
使用ssh-copy-id进行报备
ssh-copy-id:千万不要把私钥泄漏!只是把公钥(*.pub 文件)复制给远程服务器;
`$ ssh-copy-id -i ~/.ssh/id_rsa_Theos125 [email protected]
`(IP+默认端口 这里拷贝的是公钥,,如果是指定私钥ssh-copy-id 会自己寻找公钥。)
如果是配置在公司Mac上,记得设置密码,并在更换Mac时移除掉 ~/.ssh/ 目录下的xx_id_rsa/xx_id_rsa.pub
。
3.1 创建 rsa
ssh-keygen -t rsa -b 4096 -C "[email protected]"
3.2 配置 ssh config
config文件的 语法
Host 别名
HostName: 是目标主机的主机名,也就是平时我们使用ssh后面跟的地址名称。
Port:指定的端口号。
User:指定的登陆用户名。
IdentifyFile:指定的私钥地址。
复制代码
# Private 192.168.2.125
Host iphone
HostName 192.168.2.125
User root
IdentityFile ~/.ssh/id_rsa_Theos125
# Private github
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
# git clone [email protected]:u011018979/resume.git
Host codechina.csdn.net
HostName codechina.csdn.net
User git
IdentityFile ~/.ssh/qctmac_id_rsa
复制代码
3.3 测试连接
➜ csdn ssh -T [email protected]
Enter passphrase for key '/Users/mac/.ssh/qctmac_id_rsa':
Welcome to GitLab, @u011018979!
复制代码
连接iPhone
$ ssh iPhone
[email protected]'s password:
iPhone:~ root#
复制代码
3.4 案例: 配置GitHub SSH keys
Enter ls -al ~/.ssh to see if existing SSH keys are present:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
添加对应的公钥到对应的远程服务器: .ssh pbcopy < ~/.ssh/qctmac_id_rsa.pub
配置邮箱和用户名: git config --global --edit
修改 author : git commit --amend --reset-author
效果