ssh免密登录设置方法

作者: Leon_Geo | 来源:发表于2020-07-18 16:58 被阅读0次

1 前提条件

  • 主机A,用户名为aris,IP地址为192.168.1.1
  • 主机B,用户名为leon,IP地址为192.168.1.2
  • 这两台主机上均安装了SSH服务器,且已经打开ssh服务;
  1. 检查主机上有没有安装SSH服务,使用命令:ssh
  • 若提示命令未找到,则需要安装ssh服务;步骤如下:输入sudo apt-get update命令以实现更新Ubuntu系统–>输入sudo apt-get install openssh-server命令以安装ssh
  • 若输出ssh命令的使用说明,则代表已经安装了。
  1. 检查主机上有没有启动SSH服务,使用命令:service --status-all | grep ssh
  • 若服务已经启动的话,可以看到[+] ssh
  • 若服务还没启动的话,可以看到[-] ssh
  1. 启动ssh服务,使用命令sudo service sshd start

2 主机A利用ssh免密登录主机B

(1)在主机A上生成rsa密钥对

在命令行下输入命令:ssh-keygen -t rsa,所有提示均按回车默认。

在这里插入图片描述
之后你会发现在用户的家目录下回自动生成一个隐藏的文件夹“.ssh”,里面会有两个文件,分别是id_rsa和id_rsa.pub。
在这里插入图片描述
  • id_rsa是本机的私钥,在使用ssh协议向其它主机传输数据前,主机会使用该私钥对数据进行加密;
  • id_rsa.pub是本机的公钥,因为ssh协议采用非对称加密法(公钥可以用来解密使用私钥进行加密的数据,同样,私钥也可以用来解密公钥进行加密的数据),所以主机一般将该公钥放到其它需要远程登录到的主机的ssh服务器中;

(2)将主机A上生成的公钥传到主机B中

有两种方法:

一是使用命令:
  • 在主机A的命令行上执行ssh-copy-id leon@192.168.1.2,就可以将主机A上生成的公钥传到主机B中。
二是手动操作:
  • 首先在主机A上执行命令 scp .ssh/id_rsa.pub leon@192.168.1.2:~/home,命令执行成功后会将主机A的公钥传到主机B的家目录里。
  • 切换到主机B,命令行执行cat ~/home/id_rsa.pub >> ~/.ssh/authorized_keys,将主机A的公钥添加到主机B的授权列表中。

(3) 主机A上重启ssh服务

完成以上2步之后,在主机A上重启ssh服务后即可免密码登录主机B了

  • 在主机A上执行命令sudo service ssh restart
  • 再执行ssh leon@192.168.1.2,你会发现已经免密登录了。
    在这里插入图片描述
  • 说明:图中输入的命令是ssh leon@ubuntu,为何不是IP地址呢?
    这是因为我们在/etc/hosts文件中指定了ubuntu的ip地址为192.168.1.2

3 主机B利用ssh免密登录主机A

  • 道理是一样一样的,只需要将主机B的公钥添加到主机A的授权列表中即可达到免密登录的目的。在此,就不再演示了。

4 彩蛋——配置别名,一键登录

  • 有些“懒人”可能会说,每次使用ssh命令登录的时候,都要输入远程主机的用户名、IP地址,挺麻烦的。有没有好的办法,能输一个简单的命令就好了呢?
  • 答案,是肯定的!因为科技就是懒人创造的。

想要达到的目的:主机A下键入“ssh mac”就可以免密登录到主机B

(1)主机A命令行下打开config文件
  • 执行命令vim ~/.ssh/config,创建或打开ssh配置文件
(2)在config文件中添加如下内容:
Host mac
    HostName 192.168.1.2
    User leon
    Port 22
(3)保存内容后退出

现在,你就可以愉快的登录了。当然,此处的mac你可以根据自己的喜好,随意指定;User、HostName根据你需要连接的远程端主机确定。


获取更多知识,请点击关注:

嵌入式Linux&ARM
CSDN博客
简书博客
知乎专栏


相关文章

  • 安装ES5.3

    ips: 192.168.61.141192.168.61.142192.168.61.143 ssh免密登录设置...

  • linux ssh 免密登录设置

    免密登录设置 一般情况下ssh登录远程机器需要输入密码,可以设置免密登录 ssh-keygen -t rsa命令一...

  • Jenkins的Publish Over SSH功能将项目部署到

    免密登录设置 在使用Publish Over SSH之前,需要制作SSH私钥。机器间做免密登录配置。假设机器A,i...

  • ssh设置免密登录无效

    先来一波设置ssh免密登录方法: ssh-keygen 生成公钥私钥 ~/.ssh/id_rsa.pub ssh-...

  • ssh免密登录设置方法

    1 前提条件 主机A,用户名为aris,IP地址为192.168.1.1 主机B,用户名为leon,IP地址为19...

  • Hadoop安装

    配置SSH免密登录 ssh localhost 验证免密登录是否配置成功 安装Java Java是Hadoop的先...

  • SSH免密登录

    在登录远程开发机要一直输入登录密码挺让我厌烦的,因此搞下免密登录,顺便了解下ssh的原理。 如何设置免密登录 在本...

  • 设置免密ssh登录

    1.首先创建公钥。 ssh-keygen :创建公钥。执行完该命令,按照紫色标记的Enter提示回车三次 ...

  • SSH设置免密登录

    这里的话,我们假设我们有三台Linux设备要实现SSH免密登录,分别是主节点hadoop-1和两个子节点hadoo...

  • ssh免密登录设置

    配置主机A免密登录主机B。 1、生成主机A的公钥和秘钥 生成的密钥文件:路径:/root/.ssh文件名: 2、将...

网友评论

    本文标题:ssh免密登录设置方法

    本文链接:https://www.haomeiwen.com/subject/utdfkktx.html