两台linux虚拟机之间实现免密登录

本文介绍了如何在两台虚拟机之间通过SSH协议实现无密码登录,包括使用`ssh-keygen`生成密钥对,`ssh-copy-id`复制公钥到从机,以及处理`ssh-copy-id`未找到的情况和安装`openssh-clients`包。对于Ansible等工具不能直接交互时,还提供了一行代码快速生成密钥的方法。
摘要由CSDN通过智能技术生成

主要实现两台虚拟机之间的免密登录,总所周知,虚拟机之间登录使用的协议是ssh协议,端口号是 22

  • 主机

    • 创建对应的加密文件
    [root@web-2 ~]# ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): 
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:KAYYbgx3bYuBTcMzbr2mtG3+4HxNmSRtZOqtDFwOAhM root@web-2
    The key's randomart image is:
    +---[RSA 2048]----+
    |o E*+.           |
    |+++.*.o   o      |
    |.+.+ B . =       |
    |.  .= +.+ +      |
    |   .oo.*S= o     |
    |   ...= o =      |
    |   . =.o +       |
    |    ooo.+ .      |
    |     o+o.        |
    +----[SHA256]-----+
    
    # 使用 ssh-keygen 的命令的话,可以直接一路回车到底,它采用的默认加密算法是 RSA
    
    • 复制到从机中

      [root@web-2 ~]# ssh-copy-id root@192.168.37.122
      

      这样的话,就可以实现无密码登录,我们的实验过程也会顺畅很多。   注意,如果出现了一下报错:

      -bash: ssh-copy-id: command not found
      

      那么就证明我们需要安装一个包:

      yum -y install openssh-clients
      

      把包安装上即可。

  • 主机登录到从机中

    [root@web-2 ~]# ssh 192.168.37.122
    

如果在使用ansible之类的,无法进行命令好之间的交互,可以直接使用下面这行代码,直接一行代码创建密钥

[root@localhost ~]# ssh-keygen -f ~/.ssh/id_rsa -P '' -q

image-20231109213045533

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值