SSH为Secure Shell的缩写,由IETF的网络小组(Network Working Group)所制定;SSH为建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

  我们用SSH主要是可以实现免密登录目标服务器。

  下面我们准备两台服务器,主服务器192.168.1.120,目标服务器192.168.1.120

  主服务器上执行,生成SSH秘钥的命令:ssh-keygen -t rsa

[root@localhost ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):  -----> 输入key文件的名称,不用填直接回车
Enter passphrase (empty for no passphrase):  -----> 输入使用key时的密码,不建议填,直接回车
Enter same passphrase again:  -----> 再次输入密码, 直接回车
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:AxIvlKiGQACMHQJrGkTQhkEbdNMNuIRt0PoPGgm7O2w root@localhost
The key's randomart image is:
+---[RSA 2048]----+
|^&*==oo |
|==OBo+ . |
|==+ + o |
|*+ . o . |
|+.o S |
|.o o . |
|..o o |
|oE . |
|oo |
+----[SHA256]-----+

  这是秘钥已经生成了,上面也显示了秘钥的存放位置是  /root/.ssh  我们进入看一下,id_rsa是私钥文件,自己留着的。id_rsa.pub是公钥文件,要发给其他服务器。

[root@localhost ~]# cd /root/.ssh
[root@localhost .ssh]# ls
id_rsa id_rsa.pub known_hosts

  接下来用scp命令,将母机产生的key拷一份到远程的linux服务器上,并命名成authorized_keys;命令:scp ~/.ssh/id_rsa.pub  root@192.168.1.121:/root/.ssh/authorized_keys

  这一步的操作需要手动输入目标服务器的密码。

[root@localhost .ssh]# scp ~/.ssh/id_rsa.pub root@192.168.1.121:/root/.ssh/authorized_keys
The authenticity of host '192.168.1.121 (192.168.1.121)' can't be established.
ECDSA key fingerprint is SHA256:jQ27JOLmEdm90C1IhGLkqy+em2/49lIVcXoB50nImX8.
ECDSA key fingerprint is MD5:5d:ea:ef:95:61:82:e8:21:ed:e4:8f:c2:dd:ef:99:dd.
Are you sure you want to continue connecting (yes/no)? yes  -----> 问你是否继续连接,输入yes
Warning: Permanently added '192.168.1.121' (ECDSA) to the list of known hosts.
root@192.168.1.121's password:   ----> 输入目标服务器的root密码,输入的密码是不显示的
id_rsa.pub

  这是我们登陆目标服务器121查看一下/root/.ssh/下是否有authorized_keys文件,如果已经有说明同步成功了,可以在主服务器上使用ssh命令远程连接。

[root@localhost .ssh]# ssh root@192.168.1.121      --->  使用SSH命令,登陆远程服务器,并使用root账号。
Last login: Wed May 20 13:31:00 2020 from 192.168.1.120

  连接成功。

Linux服务器配置SSH免密登录的更多相关文章

  1. Linux 双向 SSH 免密登录

    原理 双向,顾名思义,双方互通,此处的意思是多台 linux 两两免密登录.双向比单向多了些操作,单向只需把某一个linux的公钥发送给其他linux即可,而双向要实现集群中的每一台机器都保存其他所有 ...

  2. 【Linux】ssh免密登录

    一.ssh免密配置 ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例.有机器A(192.168.1.155),B(192.168. ...

  3. linux 远程ssh免密登录

    写在前面 先说说需求: 我们平时开发.运维操作linux过程中经常需要实现将远程文件拷贝到本地或者本地文件拷贝到远程:执行远程命令等操作:这个时候建立ssh免密登录应该是一个比较好的选择: 原理 在l ...

  4. linux上ssh免密登录原理及实现

    因为我的服务器集群需要回收日志到中央进行统一处理,所以需要建立ssh互信关系实现免密登录.关于ssh的使用大家可能都很熟悉了,我们今天主要来讲下ssh连接和免密登录的原理. scp 传输文件 scp( ...

  5. linux服务器ssh免密登录

    环境:两台服务器,Park01.Park02,配置ssh免密登录 在Park01执行:ssh-keygen 然后一直回车 生成节点的公钥和私钥,生成的文件会自动放在/root/.ssh目录下   然后 ...

  6. Linux的SSH免密登录认证过程研究

    一.先看下SSH免密登录使用到的工具和生成的文件 工具:ssh-keygen用于生成秘钥文件,其中秘钥分为公钥和私钥.ssh-copy-id用于复制公钥文件到被控制机. 文件:ssh-keygen生成 ...

  7. Linux入门——SSH免密登录

    SSH免密登录 1.简介 SSH是一种网络协议,用于计算机之间的加密登录. 本文针对的实现是OpenSSH,它是自由软件,应用非常广泛. 2.初始化公钥私钥 有rsa,dsa两种加密方式,生成的公钥私 ...

  8. Linux机器间ssh免密登录

    前言 一台Linux机器通过ssh的方式连接别的机器或通过scp的方式传输文件,都需要输入密码. 为了解决每次输入密码的困扰,可采用添加密钥的方式实现. 实现过程 源服务器A,目标服务器B. 1.在源 ...

  9. Linux的SSH免密登录(一)

    1.从cp/scp命令出发 scp(secure copy)是linux系统下基于ssh登录进行安全的远程文件拷贝的命令. 1. 传递文件到远程 scp local_file remote_usern ...

随机推荐

  1. 关于C++命名空间namespace的理解与使用介绍

    0X00 前言 所谓namespace,是指标识符的各种可见范围.C++标准程序库中的所有标识符都被定义于一个名为std的namespace中. 0x01 与C语言区别 <iostream> ...

  2. Js 利用正则 在字符串中提取数字、替换非数字字符为指定字符串

    var s ="总金额4500元"; var num= s.replace(/[^-]/ig,""); alert(num);// 上述示例会把数字匹配到直接转 ...

  3. day02 java学习

    Java三大版本 Write once,Run anywhere. (基于JVM虚拟机) JavaSE 标准版 JavaME 嵌入式开发 JavaEE 企业级开发 Java三大名词 JDK Java开 ...

  4. C#学习与个人总结

    本学期的C#相对来说,自我学习方法大有收获.但自律性.自我约束能力,我是否达到预期的最好效果,这个很难说出口.本学期在图书馆借了一本MySql.微机原理的书看了看,记了一些笔记.感觉知识有一些相同,有 ...

  5. 数据可视化基础专题(十五):pyecharts 基础(二)flask 框架整合

    Flask 前后端分离 Step 1: 新建一个 Flask 项目 $ mkdir pyecharts-flask-demo $ cd pyecharts-flask-demo $ mkdir tem ...

  6. python 面向对象专题(八):特殊方法 (一)__get__、__set__、__delete__ 描述符(一)

    https://www.cnblogs.com/flashBoxer/p/9771797.html 实现了 __get__.__set__ 或 __delete__ 方法的类是描述符.描述符的用法是, ...

  7. 数据可视化之PowerQuery篇(二十)如何计算在职员工数量?

    https://zhuanlan.zhihu.com/p/128652582 ​经常碰到的一类问题是,如何根据起止日期来计算某个时间点的数量,比如: 已知合同的生效日期和到期日期,特定日期的有效合同有 ...

  8. 没错,用三方 Github 做授权登录就是这么简单!(OAuth2.0实战)

    本文收录在个人博客:www.chengxy-nds.top,技术资源共享. 上一篇<OAuth2.0 的四种授权方式>文末说过,后续要来一波OAuth2.0实战,耽误了几天今儿终于补上了. ...

  9. Linux find 查找 并删除文件 杀掉进程

    find 默认在当前 即 . 目录下查找 du 文件名 / 目录 # 查看文件占用内存大小 1. 按照文件名查找 find / -name qwe # qwe为文件名 find / -name *qw ...

  10. CSS栅格布局

    CSS栅格布局 认识栅格布局 CSS的栅格布局也被称为网格布局(Grid Layout),它是一种新兴的布局方式. 栅格布局是一个二维系统,这意味着它可以同时处理列和行,与弹性布局相似,栅格系统也是由 ...