Linux中配置双机SSH信任 操作说明

一、实现原理

使用一种被称为"公私钥"认证的方式来进行ssh登录。"公私钥"认证方式简单的解释是:

首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub;私钥文件:~/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥。当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以登录了。

二、实验环境

A机:TS-DEV/10.0.0.163

B机:CS-DEV/10.0.0.188

三、Linux/Unix双机建立信任

3.1 在A机生成证书

在A机root用户下执行ssh-keygen命令,在需要输入的地方,直接回车,生成建立安全信任关系的证书。

# ssh-keygen  -t  rsa

注意:在程序提示输入passphrase时直接输入回车,表示无证书密码。
   上述命令将生成私钥证书id_rsa和公钥证书id_rsa.pub,存放在用户家目录的.ssh子目录中。

3.2 查看~/.ssh生成密钥的文件

# cd ~/.ssh

# ll

3.3 A对B建立信任关系

将公钥证书id_rsa.pub复制到机器B的root家目录的.ssh子目录中,同时将文件名更换为authorized_keys,此时需要输入B机的root用户密码(还未建立信任关系)。建立了客户端到服务器端的信任关系后,客户端就可以不用再输入密码,就可以从服务器端拷贝数据了。

# scp -r id_rsa.pub 10.0.0.188:/root/.ssh/authorized_keys

3.4 B对A建立信任关系

在B机上执行同样的操作,建立B对A的信任关系。

# ssh-keygen -t rsa

# cd ~/.ssh/

# ll

# scp -r id_rsa.pub 10.0.0.163:/root/.ssh/authorized_keys

四、测试

在A机上:

# scp -r 10201_database_linux_x86_64.cpio 10.0.0.188:/tmp/david/

在B机上:

双机信任关系已经建立!

注:如果想让B,C同时可以scp不输入密码,传输A中的数据;
则要把B、C的公钥都给 A;
操作步骤:把两机器的id_rsa.pub中的数据都拷贝到A的/root/.ssh/authorized_keys文件中,一行表示一条。

(0)

相关推荐

  • linux下使用ssh远程执行命令批量导出数据库到本地

    前天正在跟前端的同事调试功能.服务器开好,模拟的玩家登录好,就在倒计时.这时突然运营的同事跑过来说要统计几个服务器玩家的一些情况,也就是需要从几个服的数据库导出部分玩家的数据.好吧,我看了一下时间,11:47.心想,跟前端调试完,去吃个饭再午休一下那就下午再给吧.没想对方来一句"就导个数据库而已,要这么久么?",而且还是直接跟我上司说的.我嚓,好吧,我导.可问题来了,平时的统计是由php做的,批量部署这些是由运维做的.服务端完全没有对应的工具.而且服务器是在阿里云上的,数据库的用户是限

  • linux ssh 使用深度解析(key登录详解)

    SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task Force)的Network Working Group所制定的一种协议.SSH的主要目的是用来取代传统的telnet和R系列命令(rlogin,rsh,rexec等)远程登陆和远程执行命令的工具,实现对远程登陆和远程执行命令加密.防止由于网络监听而出现的密码泄漏,对系统构成威胁. ssh协议目前有SSH1和SSH2,SSH2协议兼容SSH1.目前

  • Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享

    环境: ssh server: 192.168.100.29  server.example.com ssh client: 192.168.100.30  client.example.com 通过root用户建立秘钥认证实现SHELL脚本管理,分发,部署 首先client端创建秘钥对,并将公钥分发给需要登录的SSH服务端 注:公钥相当于锁,私钥相当于钥匙,我们这里相当于在客户端创建一对钥匙和锁,想要做到SSH免密码登录,就相当于我们将锁分发到服务端并装锁,然后客户端就可以利用钥匙开锁. 一.

  • Linux SSH 安全策略 更改 SSH 端口

    默认的 SSH 端口是 22.强烈建议改成 10000 以上.这样别人扫描到端口的机率也大大下降.修改方法:# 编辑 /etc/ssh/ssh_config vim /etc/ssh/ssh_config # 在 Host * 下 ,加入新的 Port 值.以 18439 为例: Port 22 Port 18439 # 编辑 /etc/ssh/sshd_config (同上2图) vim /etc/ssh/sshd_config #加入新的 Port 值 Port 22 Port 18439

  • linux下ssh安装与scp命令使用详解

    ubuntu默认并没有安装ssh服务,可以通过如下命令进行: 复制代码 代码如下: yblin@yblin-desktop:~$ ssh localhost ssh: connect to host localhost port 22: Connection refused 如上所示则说明还没有安装ssh. 通过apt-get安装如下: 复制代码 代码如下: yblin@yblin-desktop:~$ sudo apt-get install openssh-server ssh默认端口是22

  • Linux系统使用用户密钥ssh主机访问

    使用用户密钥ssh主机,在安全性上要大大高于直接输入root 的密码,具体实现,请看下面的教程. ps:使用root权限进行操作 1)先创建一个账户 // 创建一个账户lee,所属组为wheel useradd -d /home/lee -g wheel lee 执行后,/home 下生成一个名为lee的目录.目录的权限为700,所属组为wheel,所属用户为lee 2)在 /home/lee 目录下生成.ssh 目录 // 生成.ssh目录,权限为700 mkdir -m 700 /home/

  • Linux中配置双机SSH信任 操作说明

    一.实现原理 使用一种被称为"公私钥"认证的方式来进行ssh登录."公私钥"认证方式简单的解释是: 首先在客户端上创建一对公私钥(公钥文件:~/.ssh/id_rsa.pub:私钥文件:~/.ssh/id_rsa),然后把公钥放到服务器上(~/.ssh/authorized_keys),自己保留好私钥.当ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了. 二.实验环境 A机:TS-DEV/10.0.0.163 B机:CS-DEV/

  • linux中配置pptp服务器配置的方法

    1.验证内核是否加载了MPPE模块: modprobe ppp-compress-18 && echo MPPE is ok 2.安装所需的软件包: yum -y install ppp wget ftp://rpmfind.net/linux/epel/7/x86_64/p/pptpd-1.4.0-2.el7.x86_64.rpm rpm -ivh pptpd-1.4.0-2.el7.x86_64.rpm 3.配置PPP和PPTP的配置文件: grep ^[^#] /etc/ppp/op

  • 详解怎样在Linux中配置静态网络连接

    为 Linux 系统配置网络连接可能是具有挑战性的.幸运的是,许多新的 Linux 发行版都带有网络管理工具,可以帮你自动连接到无线网络.但是能够为 Linux 机器建立静态网络连接不是更好吗?本指南将向你展示如何使用不同的 Linux 工具检查来自 CentOS/RHEL 机器的网络连接,并讲解如何使用 nmcli工具添加静态网络配置. 步骤1:检查网络连接 ping命令是一个众所周知的程序,可以快速检查网络的连通性.在命令行中输入以下内容: ping -c3 opensource.com 其

  • Linux学习第一天——ssh登录和软件安装详解

    操作环境: Ubuntu 16.04 in10系统,使用putty_V0.63 本身学习Linux就是想在服务器上使用的.实际情况,可能我很难直接到坐在服务器前,使用界面操作系统.事实上,界面对于服务器来说就是一个多于的内容.于是Linux的桌面就像一个程序一样,可以卸载.卸载后怎么用呢?使用shell命令.在哪里使用呢?当然是在遥远的另一方. 于是,我学习的第一个内容就是远程访问Linux系统,进行一系列操作. 远程访问方式很多,我不做孔乙己,所以随便选择一种简单点的入手. SSH(Secur

  • 详解如何在VS2019和VScode中配置C++调用python接口

    why 看到这个标题有些人说了,为什么好好的C++你非要调用python?人家明明是两种语言呀! 但是在实际应用中,有时候会用到C/C++调用python来更简单地去完成一些功能,不然人家python为什么有一个文件夹叫include,里边全是.h文件呢? VScode中配置环境 首先是在VScode中为C++调用python接口配置环境,这里假设你已经配置好了c++编程环境! 1.配置step1 用快捷键Ctrl+Shift+X打开Extensions 商店,输入python,install:

  • 在Linux服务器中配置mongodb环境的步骤

    1.到mongodb官网下载一个合适的linux环境安装包 如下图,放到本地的某个角落,要记得位置哦~ 2.然后你需要有一个服务器,并进入 ssh root@你的IP //回车输入密码 3.把下载好的安装包传到服务中 另开ssh窗口(command+n),如果是windows就打开新的cmd窗口,因为我们要操作本地文件,之前的窗口我们已经登了服务器了. 传的方法很多,我只演示其中一种啦. cd "安装包所在文件夹" // 去你刚才安装包放的位置 scp "本地文件"

  • 浅析Linux中vsftpd服务配置(匿名,用户,虚拟用户)

    vsftpd概述 vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux.BSD.Solaris. HP-UNIX等系统上面,是一个完全免费的.开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征. 特点 非常高的安全性需求.带宽限制.良好的可伸缩性.可创建虚拟用户.支持IPv6.速率高 小巧轻快,安全易用. ftp.sftp.

  • 在IDEA中配置SFTP远程Linux服务器系统的实现

    在IDEA中我们可以直接访问并对Linux系统上的文件进行操作,最重要的是可以直接在IDEA中打开Linux系统上的文本等文件进行删改,删改后可以直接更新到Linux系统上,无需通过第三方软件进行上传,非常方便.操作如下: 第一步,在IDEA窗口的菜单条上选择Tools菜单,然后选择Deployment,接着选择Configuration...菜单项进行打开配置窗口. 第二步,点击+号添加配置,选择Server Group创建服务器分组. 接着点击Add new server在该分组下创建服务器

  • linux中Jetty的安装和配置方法

    Jetty Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接.(Jetty是一个开源的软件,可以作为HTTP服务,javax.servlet的容器.) 配置jetty server的步骤: 创建server 配置connector 配

  • Linux 中LVS NAT 配置步骤的详解

    Linux 中LVS NAT 配置步骤的详解 概要: 规划机器与IP地址,LVS集群中有三种类型机器4种IP地址.机器类型:Client.Director.Real Server,与机器类型对应的IP地址分别为:CIP.DIP.RIP,Director对应两种IP 除了DIP外还有一个VIP.通常DIP.RIP在一个网络,CIP.VIP在一个网络. CIP:192.168.56.1 VIP:192.168.56.101 DIP : 192.168.0.10 RIP : 192.168.0.100

随机推荐