Answers:
可以从多个客户端使用相同的SSH密钥。我为不同的网络使用了不同的SSH密钥,它们实际上存储在一个加密的USB驱动器中,我可以在几台不同的计算机上使用它们而不会出现问题。
SSH对文件权限非常挑剔,因此我将首先检查所有权限,/home/{user}
直至id_rsa
文件本身。
SSH并不真正关心组或世界的写权限,因此请确保您chmod go-w
的主目录和~/.ssh
启动程序目录。我还要确保它们归您的用户所有chown ${USER}:${USER}
。
对于SSH密钥本身,我chmod 600
...
如果您愿意,可以在回答另一个SSH问题时获得有关如何管理SSH密钥的其他信息。
我知道这是老了,但认为我会指出你还需要将复制公开密钥到第二客户端
(或使用ssh-keygen -y -f〜/ .ssh / id_rsa_ ..>〜/ .ssh / id_rsa ... pub重新计算)
从[1]开始:
公钥认证方法:“ publickey”
唯一需要的身份验证“方法名称”是“公钥”
身份验证。所有实现都必须支持这种方法。
但是,并非所有用户都需要具有公共密钥,并且大多数本地
策略
在不久的将来不太可能要求所有用户进行公共密钥身份验证。使用此方法,拥有私钥可作为
身份验证。 该方法通过发送使用
用户的私钥创建的签名来工作。 服务器必须检查该密钥
是用户的有效验证者,并且必须检查
签名是否有效。如果两者都成立,则认证请求必须被
接受;否则,它必须被拒绝。注意,
成功认证后,服务器可能需要其他认证。
ssh客户端通过将公钥(上面的粗体引用的签名)发送到服务器来开始认证。如果公用密钥是授权密钥,则服务器会将随机会话ID发送回客户端。然后,您的客户端使用私钥对该会话ID进行编码,然后将其发送回服务器。服务器使用公共密钥对该会话ID进行解码,如果它与原始会话ID相匹配,则对您的客户端进行身份验证。
可能是因为您没有在第二个客户端上复制文件的权限。
但是私钥是私钥,正确的方法是在第二个客户端上创建新的私钥,然后将其公钥添加到Github