我们采用RSA非对称加密算法,原理:

如果,A要和B通讯,则:

(1). A通过RSA算法生成公钥(.pub)和私钥(公钥用于加密,私钥用于解密)

(2). B将A的公钥文件(.pub)内容加入到authorized_keys中

(3). 此时A便可以向B进行通讯,而B不能向A进行通讯

现有两台服务器:

A: 123.118.171.x(root@study)

B: 47.94.199.x (root@centos7)

现在要实现从A向B进行ssh免密登录: ssh root@47.94.199.x

首先,在A服务器上生成rsa密钥对key-rsagen -t rsa

然后将公钥id_rsa.pub的内容追加到B服务器.ssh目录(通过cd ~/.ssh访问)下的authorized_keys当中,博主通过lrzsz工具来将id_rsa.pub上传到了B服务器下的.ssh目录下

将id_rsa.pub内容进行追加到authorized_keys当中

此时A服务器便可以直接用ssh免密登录B服务器了,让我来尝试一下~

大功告成!~

因为博主修改了/etc/motd这个文件,所以登录画面会与大家的有所不同~

现在也可以使用scp指令进行免密传输文件了,从A服务器传输文件给B服务器,在A服务器上键入命令:

scp test.txt root@47.94.199.x:/root/  # 则把A服务器上当前路径下的test.txt文件传输到了B服务器的/root/目录下

若想要实现A与B之间的双向通信,则需要在B服务器上进行同样的操作,生成RSA密钥对,并将公钥id_rsa.pub追加到A服务器下的authorized_keys文件中,这里就不进行多余的叙述了,大家自己实验吧~

其他请参考:(一)SSH加密登录协议(二)SSH加密认证原理

[CentOS7] ssh免密登录 scp免密传输的更多相关文章

  1. ssh 制作免密登录(免密登录多台服务器)

    场景:服务器B (192.168.1.101)免密登录A(192.168.1.100)服务器 1.登录服务器B ①生产公钥 ssh-keygen -t rsa Enter file in which ...

  2. 【Linux】服务器间免密登录、免确认机器指纹

    1.生成密钥 ssh-keygen -t rsa -C "<填写自己方便识别的注释>" -b 4096  没什么问题就执行三次空格. 三次问题是1.填入生成密钥对的路径 ...

  3. Ubuntu如何配置SSH免密登录

    前言 在搭建hadoop集群时,需要主机和副机之间实现SSH免密登录 一.环境准备 1.ubuntu两台 二.安装SSH 1.首先检测一下本机有没有安装SSH服务,如果没有任何打印说明未安装 sudo ...

  4. Ubuntu 开启SSH服务以及有关设置:安装,指定端口号、免密登录、远程拷贝

    本文所用系统为 Ubuntu 18.04   什么是SSH?     简单说,SSH是一种网络协议,用于计算机之间的加密登录.全名为:安全外壳协议.为Secure Shell的缩写.SSH为建立在应用 ...

  5. SSH免密登录(并且免yes交互)

    问题描述:主机A使用ssh协议远程主机B,默认会开启口令认证,即输入主机B对应用户的登录密码,并且第一次登录时,主机A需验证是否接受来自主机B的公钥,输入"yes/no"完成交互. ...

  6. ssh免密码登录之分发密钥

    ssh免密码登录之分发密钥 1.ssh免密码登录 密码登录和密钥登录有什么不同? 密码登录(口令登录),每次登录都需要发送密码(ssh) 密钥登录,分为公钥和私钥,公钥相当于锁,私钥相当于钥匙 1.1 ...

  7. Linux修改hostname与免密码登录

    修改hostname [root@centos7 ~]$ hostnamectl set-hostname hadoop001 # 使用这个命令会立即生效且重启也生效 [root@centos7 ~] ...

  8. Centos7通过SSH使用密钥实现免密登录

    日常开发中,难免会有登录服务器的操作,而通过ssh方式登录无疑是比较方便的一种方式. 如果登录较频繁,使用密钥实现免密登录无疑更是方便中的方便.因此本文就简单说一说如何实现免密登录. 一.安装配置ss ...

  9. Centos7 通过SSH使用密钥实现免密登录

    Public Key认证的主要魅力在于认证时承诺不必提供密码就能够同远程系统建立连接. Public Key认证的基础在于一对密钥,public key和private key,public key对 ...

随机推荐

  1. Spark- Action实战

    Spark- Action实战 package cn.rzlee.spark.core import org.apache.spark.rdd.RDD import org.apache.spark. ...

  2. jupyter- 运维

    jupyter运维常见CLI 查看安装的内核和位置 jupyter kernelspec list anaconda列出所有的环境 conda info -e

  3. matlab产生很多个相同的数字

    如产生100行1列的0.5: ones(100,1)*0.5:

  4. 分享知识-快乐自己:Linux下安装 erlang 及 RabbitmMQ

    Linux下安装 erlang 及 RabbitmMQ: 下载地址一  下载地址二 下载地址三 安装依赖: yum install ncurses-devel 安装 erlang: 1):下载Erla ...

  5. GeoServer基础教程(二):GeoServer的Web管理界面快速入门

    转载:http://blog.163.com/daimiao_study/blog/static/248923117201542522742373/ GeoServer的控制和管理是基于网页形式,所有 ...

  6. Python习题-统计日志中访问次数超过限制的IP

    #1.1分钟之内ip访问次数超过200次的,就给他的ip加入黑名单#需求分析: #1.读日志,1分钟读一次 #2.获取这1分钟之内所有访问的ip #3.判断ip出现的次数,如果出现200次,那么就加入 ...

  7. Java微信开发_03_使用测试号进行开发

    今天进行自定义菜单的开发时,发现公众号没有自定义菜单的权限.于是想到用测试号,但微信服务器如何区分你要请求的是公众号还是测试号呢. 我们可以发现不同公众号的appID和appsecre是不同的,一对a ...

  8. Dedecms丨显示指定的导航栏

    代码实例: {dede:channelartlist type='top' typeid='9,12,10' row='3' orderby='sortrank'}<li><a hr ...

  9. bzoj 3916: friends 瞎搞

    题目: 有三个好朋友喜欢在一起玩游戏,A君写下一个字符串S,B君将其复制一遍得到T,C君在T的任意位置(包括首尾)插入一个字符得到U.现在你得到了U,请你找出S. 题解: 发现字符串的长度一定为奇数. ...

  10. Git远程克隆仓库出现Permission denied (publickey)

    $ git clone git@github.com:DavidWanderer/test1.git Cloning into 'test1'... Warning: Permanently adde ...