我目前正在尝试访问远程主机(比方说node1)使用ssh从另一个(主)。 由于ssh-copy-id没有工作,我手动做了这件事。
我在本地机器上用ssh-key-gen生成了一个密钥对(没有密码)。 然后我上传了我的远程主机上的~/.ssh/id_rsa (创build~/.ssh/id_rsa )
然后我去了我的节点1并在authorized_key中添加了公钥
所以我可以通过键入ssh -i .ssh/id_rsa user@node1从master连接到ssh -i .ssh/id_rsa user@node1
但是我希望能够通过键入ssh user@node1来连接,但是我得到错误
Permission denied (publickey,gssapi-keyex,gssapi-with-mic) 。
我认为这个错误来自我没有使用密钥的事实。
我怎样才能做到这一点?
PS:实际上这部分脚本自动configuration从主站到node1的访问,因为我将安装Openshift,它需要通过ssh访问节点进行configuration。 但是Issh私钥是可行的。
你可以创build一个〜/ .ssh / config文件。 这是一个例子
Host node1 User <user> IdentityFile ~/.ssh/id_rsa
一旦configuration好了,你所要做的就是前进到ssh node1 。
您很可能会因为命令缺less密钥而导致该错误。 您可以通过转到node1服务器上的/ var / log / secure来validation。
我发现这个解决scheme:
eval $(ssh-agent -s) ssh-add <path>/id_rsa