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. scrapy 基础组件专题(九):scrapy-redis 源码分析

    下面我们来看看,scrapy-redis的每一个源代码文件都实现了什么功能,最后如何实现分布式的爬虫系统: connection.py 连接得配置文件 defaults.py 默认得配置文件 dupe ...

  2. flask 源码专题(二):请求上下文与全文上下文

    源码解析 0. 请求入口 if __name__ == '__main__': app.run() def run(self, host=None, port=None, debug=None, lo ...

  3. angular浏览器兼容性问题解决方案

    问题:edge浏览器下,固定列的边框消失 原因:ng-zorro-antd表格组件使用nzLeft和nzRight指令固定的表格列,这两个指令的实现css3中的标签: position: -webki ...

  4. com.aliyun.openservices.shade.com.alibaba.fastjson.JSONException: exepct '[', but {, pos 1, line 1, column 2

    报错原因:你放的是一个非List的对象 却想取一个List对象出来 package test; import java.text.SimpleDateFormat; import java.util. ...

  5. eclipse的使用小技能

    eclipse的使用小技能 文章来源:http://blog.csdn.net/ljfbest/article/details/7465003 关于eclipse的使用方面,其实有些东西都是小技巧的东 ...

  6. DEBUG ArrayList

    1,ArrayList面试必问 说说ArrayList和LinkedList的区别? ArrayList基于数组实现,LinkedList基于链表实现,不同的数据结构决定了ArrayList查询效率比 ...

  7. Python中ftplib模块的使用

    ftplib模块的主要接口 # from ftplib import FTP #加载ftp模块 # ftp=FTP() #设置变量 # ftp.set_debuglevel(2) #打开调试级别2,显 ...

  8. C++语法小记---重载逻辑操作符

    重载逻辑操作符 不建议重载逻辑操作符 原因:无法实现逻辑操作符的短路功能(即:不需要计算完全部表达式就可以得出结果) 逻辑操作符:|| && 操作符重载本质上是函数调用,而进行函数调用 ...

  9. Nginx之伪404( root与alias )

    目录 一.现象 二.root与alias的区别 三.建议 四.写在最后 一.现象   人类善于伪装,机器某些时候也善于伪装:Nginx请求看到404,第一反应就是文件不存在:但我们去检查的时候,它就正 ...

  10. 题解 洛谷 P4547 【[THUWC2017]随机二分图】

    根据题意,题目中所求的即为所有\(n!\)种完美匹配的各自的出现概率之和再乘上\(2^n\)的值. 发现\(n\)很小,考虑状压\(DP\).设\(f_{S,T}\)为左部图匹配情况为\(S\),右部 ...