我正在为 git 设置 ssh这指南。我之前在另一个系统上成功使用过该密钥,希望它现在也能正常工作,我用它测试了它: 并收到以下信息:
ssh -v -T [email protected]
OpenSSH_6.4,OpenSSL 1.0.1e-fips 2013 年 2 月 11 日 debug1:读取配置数据 /etc/ssh/ssh_config debug1:/etc/ssh/ssh_config 第 51 行:应用选项 * debug1:连接到github.com [192.30.252.131]端口22。 debug1:连接已建立。 debug1:身份文件/home/user/.ssh/id_rsa 类型1 debug1:身份文件/home/user/.ssh/id_rsa-cert 类型-1 debug1:身份文件/home/user/.ssh/id_dsa 类型 -1 debug1:身份文件/home/user/.ssh/id_dsa-cert 类型 -1 debug1:身份文件/home/user/.ssh/id_ecdsa 类型 -1 debug1:身份文件/home/user/.ssh/id_ecdsa-cert 类型 -1 debug1:启用协议 2.0 的兼容模式 debug1:本地版本字符串 SSH-2.0-OpenSSH_6.4 debug1:远程协议版本2.0,远程软件版本libssh-0.6.0 debug1:没有匹配:libssh-0.6.0 debug1:SSH2_MSG_KEXINIT 已发送 debug1: 收到 SSH2_MSG_KEXINIT debug1:kex:服务器->客户端aes128-ctr hmac-sha1 none debug1:kex:客户端->服务器aes128-ctr hmac-sha1 none debug1:发送 SSH2_MSG_KEX_ECDH_INIT debug1:期待 SSH2_MSG_KEX_ECDH_REPLY debug1:服务器主机密钥:RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 debug1:主机“github.com”已知并且与 RSA 主机密钥匹配。 debug1:在 /home/user/.ssh/known_hosts:1 中找到密钥 debug1: ssh_rsa_verify: 签名正确 debug1: SSH2_MSG_NEWKEYS 已发送 debug1:期望 SSH2_MSG_NEWKEYS debug1: 已收到 SSH2_MSG_NEWKEYS debug1:服务器不允许漫游 debug1: SSH2_MSG_SERVICE_REQUEST 已发送 debug1: 已收到 SSH2_MSG_SERVICE_ACCEPT debug1:可以继续的认证:publickey debug1:下一个认证方法:publickey debug1:提供RSA公钥:/home/user/.ssh/id_rsa debug1:可以继续的认证:publickey debug1:尝试私钥:/home/user/.ssh/id_dsa debug1:尝试私钥:/home/user/.ssh/id_ecdsa debug1:没有更多可尝试的身份验证方法。 权限被拒绝(公钥)。
除了显而易见的情况外Permission denied (publickey)
,看起来 ssh 无法区分私钥id_rsa
和公钥id_rsa.pub
。两者都在 中/home/user/.ssh/
。
那么我刚刚将我的私钥发送给[电子邮件保护]?
我已经尝试过的:
#创建新的公钥 ssh-keygen -y -f ~/.ssh/id_rsa > ~/ssh/id_rsa.pub 已添加#id ssh-添加-l 2048 ==数字==主页/用户/.ssh/id_rsa(RSA) #检查权限 ls -l ~/.ssh -rw-------. 1 用户 user 1675 9月 3 09:53 id_rsa -rw-r--r--. 1 用户 user 381 1月23日 09:21 id_rsa.pub -rw-r--r--. 1 用户 user 1371 1 月 23 日 09:30 known_hosts #查看/etc/ssh/ssh_conf 主持人 * GSSAPI身份验证 是 ForwardX11Trust 是 发送环境语言 LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES 发送环境 LC_PAPER LC_名称 LC_地址 LC_TELEPHONE LC_MEASUREMENT SendEnv LC_IDENTIFICATION LC_ALL 语言 SendEnv XMODIFIERS 服务器存活间隔 300 服务器存活数最大 2 #对我来说看起来还不错...
答案1
不,你没有发送私钥。SSH 在这里所做的只是按名称对公钥和私钥进行分组。例如,id_rsa
指的是密钥对id_rsa
和id_rsa.pub
。
“提供公钥”意味着它将您发送id_rsa.pub
到服务器。然后服务器使用公钥生成加密的身份验证令牌。
当它说“尝试私钥”时,它将尝试使用相应的私钥解密该身份验证令牌,并将其发送回服务器进行验证。