利用ssh-keygen免密码登录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用ssh-keygen免密码登录相关的知识,希望对你有一定的参考价值。

需求:当需要管理多台服务器的时候,来回切换主机的时候输入密码是件很麻烦的事,这时候便可以利用ssh-keygen免密码登录。


简单原理机过程:若A需要免密码登录B,则使用ssh-keygen在A上生成相应密钥对,再使用ssh-copy-id将生成的公钥发送到远程主机A上。


                    具体操作

A上执行:

[[email protected] ~]# ssh-keygen 
#生成相应密钥对,若初次使用,则会出现几次停顿,直接敲回车保持默认就行了

[[email protected] ~]# ssh-copy-id [email protected]
#执行此命令过后,输入远程主机B的root密码,ssh-copy-id工具即可将本机的公钥发送过去,被配置
好相应权限(这些都不用管,保持默认就好)

[[email protected] ~]# ssh [email protected]
Last login: Fri Nov  4 10:39:53 2016 from 117.174.247.158
[[email protected]_116_108_centos ~]# 
#配置完成后,直接ssh远程主机B即可完成免密码登录


提示:若之前有个密钥登录的配置,再次配置时,会出现以下错误:

Now try logging into the machine, with "ssh ‘[email protected]‘", and check in:

  .ssh/authorized_keys

to make sure we haven‘t added extra keys that you weren‘t expecting.

错误翻译:

现在尝试登录到机器,用“ssh‘[email protected]‘”,并检入:


   .ssh / authorized_keys


以确保我们没有添加您没有期望的额外的密钥。


错误原因:

之前有过相应配置,再次配置时,当执行ssh-copy-id  [email protected],并且输入对应root密码后,其实就已经配置成功了,这里只是提示我们,尝试ssh登录以下远程主机,确保没有增加额外的密钥(由于之前有过类似操作,主机检测到相应文件中还有类似的密钥)。所以,此时我们只需尝试ssh登录远程主机就行了。

[[email protected] ~]# ssh [email protected]
Last login: Fri Nov  4 10:39:53 2016 from 117.174.247.158

能免密钥登录,说明配置没问题。

以上是关于利用ssh-keygen免密码登录的主要内容,如果未能解决你的问题,请参考以下文章

通过终端使用ssh-keygen免密码登录远程服务器

CentOS6.9下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

Debian9.5下ssh密钥登录配置步骤(免密码登录)和ssh-keygen 命令常用参数

ssh 免密码登录

ssh-keygen生成公私钥免密码登录远程服务器

ssh 免密码登录