当前位置:首页 > 虚拟机 > 正文

虚拟机间实现免密登录(虚拟机普通用户免密登录)


一、三台虚拟机免密登录其中一台不能访问别的?能。要访问其他计算机,请无需密码登录到三个虚拟机中的任何一个。虚拟机是通过软件模拟的、在完全隔离的环境中运行的具有完整硬件系统功能的完整计算机系统。您可以在物理计算机上执行的任何操作,都可以在虚拟机上执行。


二、Jenkins免密登录方法一:
在Jenkins服务器中生成私钥。id_rsa
然后将其添加到applicationserver/apps/.ssh/id_rsa。(即两个服务器的密钥相同,内容在id_rsa中)
然后将密钥放入PublishOverSSH中对应的服务器信息中,即可实现免加密传输。
方法二:
可以参考另一篇文章的方法,原理是一样的。
构建CI流程-Jenkins
过程中遇到的坑:
提示信息
herException。:e[invalidprivatekey:[B@60373f7]
这是因为生成密钥的OpenSSH版本太高。
第一行
-----BEGINOPENSSHPRIVATEKEY——-,不支持。
要生成密钥,您必须使用以下命
ssh-keygen-mPEM-trsa-b4096
。-m参数指定密钥的格式,PEM是RSA之前使用的较旧格式,长度为4096。
这种方式生成的密钥以
-----BEGINRSAPRIVATEKEY-----开头。,
您可以通过密钥验证
2.提示消息
h_lisherException:e:[Fairedtoconnectsessionforconfig[10.16.148.47(uat-p​​rod-1)].Message[Authfail]]
需要将Jenkins服务器上id_中的公钥值添加到对应服务器的authorized_keys中。


三、Linux——配置服务器间的免密登录

ssh-keygen命令用于生成、管理和转换“ssh”的身份验证密钥。它支持RSA和DSA身份验证密钥。SSH密钥默认存储在~/.ssh目录中。如果没有~/.ssh目录,ssh-keygen命令将使用正确的权限创建它。

执行命令后,您将看到几个选项可供选择。一般来说,直接回车即可,使用默认配置即可。需要注意的是,如果sshkey是服务器自己生成的,则可以跳过此步骤。如果想知道sshkey是否已经生成,可以看步骤2。

正常情况下,如果ssh-keygen命令执行成功,我们会在目录下看到两个文件:id_rsa(存放私钥)和id_(存储公钥)

首先简单介绍一下ssh-copy-id命令

ssh-copy-id命令可以将本地主机的公钥复制到远程主机的authorized_keys文件中。authorized_keys文件用于客户端身份验证。使用ssh-copy-id命令将本地公钥复制到远程主机后,即可免密码登录远程主机。如果不指定-i选项,ssh-copy-id将默认~/.ssh/作为默认公钥。如果多次运行ssh-copy-id,该命令将不会检查重复项,并将在远程主机上多次写入授权密钥。

注意本地~/.ssh/id_rsa权限,chmod400~/.ssh/id_rsa,这个文件包含了用于授权的私钥。如果其他用户可以访问该文件,则ssh也可以。忽略他。

执行上述命令后,我们就可以免密码登录其他服务器了。

如果有很多服务器需要配置无密码登录,我们可以使用脚本来解决这些重复的步骤。