专栏首页华创信息技术Linux实现两台服务器之间ssh连接

Linux实现两台服务器之间ssh连接

文章时间:2019年11月14日 00:23:28 解决问题:实现了两台服务器之间ssh连接 ps:我们的服务器都是阿里云的,因为参加各种活动,所有服务器买在了好几个不同的账号下。但是因为程序部署等等需要跨服务器之间进行传输,所以需要实现多台服务器之间的无密码ssh连接和内网互通(前提是都在同一区域下) 基于环境:Cent os 7.6 root用户

  • 一、服务器生成秘钥
    • 检查OpenSSL
    • 检查SSH服务是否开启
  • 二、SSH远程登录
    • 1、口令验证
    • 2、密钥验证(推荐方式)
      • #密钥传到远程服务器

一、服务器生成秘钥

检查OpenSSL

ssh -V

输入上面的命令,会有如下的返回,即为正常。

OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

继续输入

rpm -qa | grep ssh

出现如下返回,即为正常。(请无视版本号)

openssh-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64
libssh2-1.8.0-3.el7.x86_64
openssh-clients-7.4p1-21.el7.x86_64

如果这里没有的话,需要进行安装。执行如下命令

yum install openssh-clients
yum install openssh-server

检查SSH服务是否开启

只有在SSH服务开启的状态下,才能远程登录,连接和管理服务器。如果关闭SSH服务,则远程连接客户端无法再连接服务器,但是已连接的客户端可以继续使用。

执行命令查看开启和关闭状态(两条命令均可,系统版本不同命令不同)

systemctl start sshd.service
service sshd status 

active表示SSH服务是启动的 inactive表示SSH服务已关闭

执行命令 systemctl start sshd.service 或者 service sshd start 启动SSH服务。 执行命令 systemctl stop sshd.service 或者 service sshd stop 启动SSH服务。 执行命令 systemctl restart sshd.service 或者 service sshd restart 重启SSH服务。 执行命令 systemctl enable sshd.service 或者 service sshd enable 设置服务开机自启。

二、SSH远程登录

ssh远程登录的安全外壳协议有两种身份验证机制:

1、口令验证 2、公钥验证

1、口令验证

ssh root@192.168.1.1

输入完上面的命令之后,会提示你输入密码,此时输入密码即可正常进入。(默认端口是22)

ps:在阿里云上配置了密钥对的,无法使用此方法,如果想使用此方法,需要开启密码登录。 阿里云服务器开启密码SSH双登录教程:https://wiki.nooss.cn/archives/296.html

2、密钥验证(推荐方式)

大致的过程是: 当客户端希望通过SSH KEY 鉴权登录时,它会告诉服务端,并附带上自己的公钥KEY信息。服务端检查它的KEY文件,同时生成一个随机串,并且用公钥加密。加密过的随机串,只有客户端用自己的私钥才可以解。 一旦收到消息,客户端将用自己的私钥解密,获取到随机串,同时,将先前跟服务端商定的SESSIONID一起,再次做MD5一致性HASH(md5(randomKey,sessionId),发回给服务端。服务端也按同样的方式生成摘要,如果两者一致,则验证通过。

假设现在有两台Linux服务器 A 和 B,如何配置主机之间的免密ssh登陆? 第一步:在 A 的./root/.ssh/目录下,有两个文件:id_rsa.pub和id_rsa。前者是当前服务器当前用户的公钥,后者是当前服务器当前用户的私钥。如果没有,则使用如下命令生成密钥对:(下面两条命令任选其一即可,默认就是ras加密算法)

ssh-keygen -t rsa
ssh-keygen

运行上面的命令以后,系统会出现一系列提示,可以一路回车。

#密钥传到远程服务器

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.1

上面的命令,root替换为你自己的服务器的用户,ip地址也相应的进行替换即可。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 命令历史history

    华创信息技术
  • Git配置ssh秘钥

    在日常使用中,可能会出现拥有多个平台的账号的情况。例如:github、gitee、私有git等

    华创信息技术
  • 织梦验证码图像无法显示解决方案

    解决方法: 用ob_clean()清除缓冲区。include/vdimgck.php约158行加:

    华创信息技术
  • GIF动图搜索,有这几个网站就够了!

    图片素材总比文字内容先一步抓住用户眼球,动图更具有趣味性,究竟这些高逼格的GIF动图在哪里找的?有哪些有趣的动图网站?

    Albert陈凯
  • Valid Anagram

  • spring-cloud-kubernetes的服务发现和轮询实战(含熔断)

    本文是《spring-cloud-kubernetes实战系列》的第四篇,主要内容是在kubernetes上部署两个应用:Web-Service和Account...

    程序员欣宸
  • 表单数据验证方法(二)——ASP.NET后台验证

      昨天写了一下关于如何在前台快捷实现表单数据验证的方法,今天接着昨天的,把后台实现数据验证的方法记录一下。先说明一下哈,我用的是asp.net,所以后台验证方...

    CherishTheYouth
  • Pandas-5.基本操作

    悠扬前奏
  • 浅析Binder机制

    一个老生常谈的话题,但也是在Android学习过程中一定会遇到的一个主题。结合自己的学习历程分享一下我对Binder架构的基本理解吧。 刚开始学习的时候,并没...

    MelonTeam
  • 摩斯码编解码器

      今天是1024,程序员节那就干点儿程序员的事情。刚好,记得上高中时候,看过一部电影,无间道,里边黄秋生和梁朝伟用摩斯码通信,瞬间觉得好神秘,好帅气。最近闲来...

    guokun

扫码关注云+社区

领取腾讯云代金券