ssh-key 用于ssh 免密码登录,具体使用方式可以搜到很多应用教程,主要步骤是一样的,主要区别在Linux系统和Windows系统中,应用命令和过程一样,ssh-keygen命令多用于git,因此在windows平台中Git-Bash可直接支持ssh-keygen,生成ssh-key之后git需要添加ssh-key,特别是在git管理多个key时,需要通过ssh-add进行添加,因为ssh-key的管理是通过ssh-agent进行管理的。
windows添加ssh-key时应用ssh-add 报错,则应启动 ssh agent bash
$ ssh-add ~/.ssh/id_rsa
Could not open a connection to your authentication agent.
$ ssh-agent bash
ssh-keygen命令用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥。
ssh-keygen(选项)
-b:指定密钥长度; -e:读取openssh的私钥或者公钥文件; -C:添加注释; -f:指定用来保存密钥的文件名; -i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥; -l:显示公钥文件的指纹数据; -N:提供一个新密语; -P:提供(旧)密语; -q:静默模式; -t:指定要创建的密钥类型。
ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add
。
ssh-add [-cDdLlXx] [-t life] [file ...] ssh-add -s pkcs11 ssh-add -e pkcs11
-D:删除ssh-agent中的所有密钥. -d:从ssh-agent中的删除密钥 -e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。 -s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。 -L:显示ssh-agent中的公钥 -l:显示ssh-agent中的密钥 -t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥 -X:对ssh-agent进行解锁 -x:对ssh-agent进行加锁
1、把专用密钥添加到 ssh-agent 的高速缓存中:
ssh-add ~/.ssh/id_dsa
2、从ssh-agent中删除密钥:
ssh-add -d ~/.ssh/id_xxx.pub
3、查看ssh-agent中的密钥:
ssh-add -l
转载参考: