前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux实现两台服务器之间ssh连接

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

作者头像
华创信息技术
发布2019-11-14 10:41:38
6K0
发布2019-11-14 10:41:38
举报
文章被收录于专栏:华创信息技术

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

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

一、服务器生成秘钥

检查OpenSSL

代码语言:javascript
复制
ssh -V

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

代码语言:javascript
复制
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

继续输入

代码语言:javascript
复制
rpm -qa | grep ssh

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

代码语言:javascript
复制
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

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

代码语言:javascript
复制
yum install openssh-clients
yum install openssh-server

检查SSH服务是否开启

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

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

代码语言:javascript
复制
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、口令验证

代码语言:javascript
复制
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加密算法)

代码语言:javascript
复制
ssh-keygen -t rsa
ssh-keygen

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

#密钥传到远程服务器
代码语言:javascript
复制
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.1

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-11-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、服务器生成秘钥
    • 检查OpenSSL
      • 检查SSH服务是否开启
      • 二、SSH远程登录
        • 1、口令验证
          • 2、密钥验证(推荐方式)
            • #密钥传到远程服务器
        相关产品与服务
        云服务器
        云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档