首页 > 其他分享 >ssh互信

ssh互信

时间:2023-06-08 14:34:57浏览次数:33  
标签:公钥 主机 互信 SSH copy id ssh

要在三台Linux主机之间配置SSH互信,可以按照以下步骤进行操作:

  1. 确保每台主机上都已安装了OpenSSH服务器和客户端。可以使用以下命令检查是否已安装:
ssh -V

如果未安装,请根据操作系统的不同使用适当的包管理器进行安装。例如,在Ubuntu上可以使用以下命令安装:

sudo apt-get install openssh-server openssh-client
  1. 在每台主机上生成SSH密钥对。使用以下命令在每台主机上生成密钥对:
ssh-keygen

默认情况下,密钥对将生成在~/.ssh/目录下,并包括公钥(id_rsa.pub)和私钥(id_rsa)。

  1. 将每台主机的公钥添加到其他两台主机的已授权密钥列表中。可以使用ssh-copy-id命令将公钥复制到其他主机上。例如,假设我们要将HostA的公钥复制到HostBHostC上,可以执行以下命令:
ssh-copy-id user@HostB
ssh-copy-id user@HostC

上述命令将提示输入目标主机的用户密码。输入密码后,HostA的公钥将自动添加到HostBHostC上的授权密钥列表中。

  1. 现在,应该可以在这三台主机之间通过SSH进行无密码登录了。例如,从HostA登录到HostB,只需执行以下命令:
ssh user@HostB

此时,将无需输入密码即可登录到HostB

重复以上步骤,将每台主机的公钥复制到其他主机上,以便在所有主机之间实现SSH互信。确保在复制公钥时使用正确的用户名和主机名。

!/bin/bash

配置SSH互信的用户名

USERNAME="your_username"

配置SSH互信的服务器列表

SERVERS=("server1" "server2" "server3")

生成SSH密钥对

generate_ssh_key() {
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
}

复制公钥到其他服务器

copy_public_key() {
for server in "${SERVERS[@]}"; do
ssh-copy-id -i ~/.ssh/id_rsa.pub "$USERNAME@$server"
done
}

主函数

main() {
generate_ssh_key
copy_public_key
}

main

标签:公钥,主机,互信,SSH,copy,id,ssh
From: https://www.cnblogs.com/ningfuyou/p/17460793.html

相关文章

  • Alpine开启ssh登录
    Alpine开启ssh登录1、登录Alopin,用户名root,密码为空。修改密码:passwd,修改后要记好,后面要用的。(也可以添加用户kk:useradd-Skk,修改kk的密码:passwdkk)2、apkaddopenssh3、如果之前没有修改密码,就必须vi/etc/ssh/sshd_config,添加PermitRootLoginyes或者用一条命令:echo'PermitR......
  • 如何修复 SSH Client_loop: send disconnect: Broken pipe Error
    动动发财的小手,点个赞吧!SSH是SecureShell的缩写,是一种远程网络协议,用于通过TCP/IP网络安全地连接到远程设备,例如服务器和网络设备。它是一种加密网络协议,可提供强大的加密技术和散列法来保护网络上两个设备之间的通信。SSH使用两种主要的认证方式:密码认证和公钥认证。使......
  • amazon linux ssh 使用密码登录
    amazonlinux ssh 使用密码登录1、使用AWS控制台创建的密钥对或者直接通过网页登录注意:使用pem私钥不允许直接登录root用户,只能登录默认用户例如:ec2-user,ubuntu等等2、创建root密码sudopasswdroot3、切换到root用户suroot4、修改sshd_config文件vim/etc/ssh/sshd_conf......
  • SSH配置及连接
    常用命令#1.使用ssh连接远程主机#最简单的用法只需要指定用户名和主机名参数即可,主机名可以是IP地址或者域名。sshuser@hostname#2.ssh连接到其他端口#SSH默认连接到目标主机的22端口上,可以使用-p选项指定端口号ssh-p10022user@hostname#3.使用ssh在远程主......
  • 如何为git配置ssh(0废话)
    启动ssh-agent用管理员模式在powershell中:Set-Service-Namessh-agent-StartupTypeautomaticssh-agent查看已有密钥,如果你已经有密钥,就直接跳到第五步ssh-add-l生成密钥,狂按回车即可ssh-keygen-ted25519本地添加密钥ssh-add远程添加密钥登录你的远......
  • Linux系统下如何保持进程在SSH客户端断开后仍继续运行?
    使用场景在Linux系统中,在执行一些运行时间比较长的任务时,必须等待执行完毕才能断开SSH连接或关闭客户端软件,否则可能会导致执行中断。本文介绍两种保障程序在您退出登录后持续运行的方法。方法1:使用nohup命令1.命令格式nohup,可以使运行的命令忽略SIGHUP信号。因此,即使退出登录......
  • KingbaseES V8R6集群运维系列 -- 修改ssh通信为 sys_securecmdd 通信
    一、适用于:本文档使用于KingbaseESV008R006版本。二、关于SYS_SECURECMDD:sys_securecmdd是KingbaseES集群自带的工具,集群监控、管理集群时通过sys_securecmdd安全执行命令而不使用ssh服务。sys_securecmdd主要包含以下文件:服务端sys_securecmdd默认监听8890端口,接受客......
  • Set up SSH for Git and Mercurial on Mac OSX/Linux
    https://confluence.atlassian.com/pages/viewpage.action?pageId=270827678http://www.worldhello.net/gotgithub/index.html......
  • GitHub/Bitbucket 通过 SSH 密钥连接
    序言项目托管服务较好的当属 GitHub 和 Bitbucket 了,二者都支持 Git 版本控制。二者最大的区别是:GitHub很火正常访问,Bitbucket最近访问有点问题(…)GitHub私有库需要付费,Bitbucket私有库免费GitHub只支持Git,Bitbucket同时支持Mercurial废话不多说,开始配置Step1:......
  • 【解决方法】网络设备使用CLI命令行模式进入SSH登录,如交换机,路由器
    环境:工具:锐捷EVE模拟器,VMwareWorkstationPro远程工具:SecureCRT系统版本:Windows10问题描述:描述:在实验使用路由器远程SSH登录交换机时,无法连接,一直提示:%Unrecognizedhostoraddress,orprotocolnotrunning.提示:若按照教程还是无法完成操作,可以进入右侧的企鹅,......