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. 3.Unity3d物体操作常用按键

    新建一个cube物体.在unity3d界面左上角可以看到红色下划线的五个图标(下面用图标1到5数字表示),分别对应不同功能,这些功能操作物体很常用.下面用cube物体的操作来演示这几个功能. 1.按Q ...

  2. Qt_Demo3:实现棋盘

    1  简介 参考视频:https://www.bilibili.com/video/BV1XW411x7NU?p=53 说明:实现一个8*8的棋盘,点击棋盘的任意位置显示一个表情,并打印出当前的坐标( ...

  3. python 爬虫写入txt:UnicodeEncodeError: ‘gbk’ codec can’t encode character 错误的解决办法

    原链接:https://blog.csdn.net/vito21/article/details/53490435 今天爬一个网站的内容,在写入TXT文件时,某些页面总是报UnicodeEncodeE ...

  4. java 面向对象(三十三):泛型二 泛型在集合中的使用

    1. 在集合中使用泛型之前的例子 @Test public void test1(){ ArrayList list = new ArrayList(); //需求:存放学生的成绩 list.add( ...

  5. HTML学习分享二

        一 . 常用快捷键       ctrl + s : 保存     ctrl + x.ctrl + c.ctrl + v : 剪切.复制.粘贴     ctrl + a : 全选     sh ...

  6. js dom演示

    <body> <div id="div1"> <p name="p1">p1内容</p> <p name= ...

  7. nginx 信号管理

    本内容只针对nginx 关闭操作罗列方法技巧,不废话直接写,Nginx的信号控制如下: 1. TERM, INT 强制关闭进程 查看nginx进程ps -aux|grep nginx  root  8 ...

  8. Java批量入库Demo

    java中往数据库批量插入数据Demo java代码: //入库数据是需要批量入库的List int len =入库数据.size(); //每次循环10条 int incremnet = 10; / ...

  9. Python+selenium自动化测试之浏览器基础操作

    **​​前言** 本文主要讲解webdriber框架,Selenium 就像真实用户所做的一样,Selenium 测试可以在 Windows.Linux 和 Macintosh上的 Internet ...

  10. OSCP Learning Notes - File Transfers(2)

    Metasploit Target Server: Kioptrix Level 1 (1) Start the Metasploit on Kali Linux. (2) Set the modul ...