ssh-keygen 配置参数
-m 参数指定密钥的格式,PEM(也就是RSA格式)是之前使用的旧格式
-b:指定密钥长度;
-e:读取openssh的私钥或者公钥文件;
-C:添加注释;
-f:指定用来保存密钥的文件名;
-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;
-l:显示公钥文件的指纹数据;
-N:提供一个新密语;
-P:提供(旧)密语;
-q:静默模式;
-t:指定要创建的密钥类型
在github上建立一个ssh连接
1.使用提供的电子邮件作为标签,这将创建一个新的ssh密钥
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
> Generating public/private rsa key pair.
# $ ssh-keygen -t rsa -b 4096 -C -f ~/.ssh/github.id_rsa "your_email@example.com"
2.当系统提示您“输入要在其中保存密钥的文件”时,请按Enter。这接受默认文件位置
> Enter a file in which to save the key (/c/Users/you/.ssh/id_rsa):[Press enter]
3.在提示符下,键入一个安全密码。有关更多信息,请参阅“使用SSH密钥密码短语”
> Enter passphrase (empty for no passphrase): [Type a passphrase]> Enter same passphrase
4.将公钥放入github-keys上
5. 测试ssh连接
ssh -T -v git@github.com
连接成功
如何管理多个ssh连接
综合上面的操作
1.在新增私钥的时候,通过指定不同的文件名来生成不同的私钥文件
ssh-keygen -t rsa -f ~/.ssh/work.id_rsa -C "youremail@example.com"
ssh-keygen -t rsa -f ~/.ssh/github.id_rsa -C "youremail@github.com"
2.在~./ssh目录下创建配置文件config
touch config
编辑config中的内容
# 云服务器
Host cloud
HostName example.com
Port 22
PreferredAuthentications publickey
IdentityFile ~/.ssh/work.id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github.id_rsa
3.同理将公钥放到github上
4.测试ssh连接
ssh -T -v git@github.com
ssh 远程执行命令
ssh -p [port] [user]@[p] 'cmd'
#ssh -p 127.0.0.1 my@22 'cmd'
#port : ssh连接端口号
#user: ssh连接用户名
#ip:ssh连接的ip地址
#cmd:远程服务器需要执行的操作
问题整理
- Host key verification failed;
记住有时候默认的回车不是YES,因此提示(yes/no)的时候 手打 YES。 - 关于 -----BEGIN OPENSSH PRIVATE KEY----- 和 -----BEGIN RSA PRIVATE KEY-----
待整理
参考1
参考2
整理地址
Generating a new SSH key and adding it to the ssh-agent
ssh管理多个私钥
[SSH] 同时管理多个ssh私钥
[1]: https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
[2]: https://blog.csdn.net/mier9042/article/details/82908774
[3]: https://www.jianshu.com/p/87d80c5cc21f
[4]: https://www.cnblogs.com/hllnj2008/p/5315051.html