目录

一、SSH远程管理基础

1、ssh协议

2、ssh原理

3、配置文件解析

4、登录方法

5、使用ssh协议传输的命令

二、免密连接的实现

1、免密连接原理

2、免密实现环境准备

3、在客户端生成秘钥文件

4、将秘钥发送给服务器

5、验证免密登录

一、SSH远程管理基础
1、ssh协议
ssh协议是基于C/S机构的安全通道协议,通信数据进行加密处理,用于远程管理。

ssh的服务名称为sshd。

默认端口号:tcp的22端口

2、ssh原理
使用公钥传输

第一步:客户端请求连接,服务端返回一个公钥(专门给别人用的)和一个会话ID给客户端

第二步:客户端把服务端的公钥和自己的公钥加密发送给客户端

第三步:客户端和服务端都有对方的公钥和自己的公钥私钥

3、配置文件解析

服务端配置文件:/etc/ssh/sshd_conf

客户端配置文件:/etc/ssh/ssh_conf,一般不修改

服务端配置文件解析:
#Port 22 #默认使用22端口
#AddressFamily any #默认任何地址可访问
#ListenAddress 0.0.0.0 #监听所有地址的ipv4地址
#ListenAddress :: #监听的ipv6地址

# Logging #日志模块内容
#SyslogFacility AUTH
SyslogFacility AUTHPRIV #默认日志位置输出到rsyslog服务的AUTHPRIV中,/var/log/message下

# Authentication: #身份验证模块
#LoginGraceTime 2m #默认验证用户登录失败后等待时间为2秒
#PermitRootLogin yes #默认允许使用root账户登录
#MaxAuthTries 6 #默认最多可以尝试连接失败6次
#MaxSessions 10 #默认最大可连接10个会话
#PubkeyAuthentication yes #基于key验证默认为开启
#AllowUsers user1,user2@ip #白名单允许登录用户user1,用户为user2的且限制ip

4、登录方法
①ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port 。

例如root默认用户则可以不写,port默认22也可不写。

ssh 192.168.30.11然后输入密码即可。

5、使用ssh协议传输的命令
①scp命令:将本机文件直接传输到对面服务器

使用格式:scp 本地文件 对面ip地址:对面接收路径

例如:scp /data/a.txt 192.168.30.12:/mnt

②sftp命令:上传或下载文件

使用格式:scp 对面ip (进去后在对面的家目录)

可以使用get下载,put上传到对面机器的家目录

二、免密连接的实现
1、免密连接原理
第一步:手动添加客户端的公钥到服务端

第二步:服务端收到客户端的公钥后使用客户端公钥加密一串随机字符串发送给客户端

第三步:客户端收到服务端发送的加密的随机字符串使用自己的私钥解密返回给服务端进行验证

第四步:服务端验证客户端发送来的随机字符串一致则同意建立连接

2、免密实现环境准备

首先准备2台可以互相通信的虚拟机,且关闭防火墙和selinux。

2台服务器都执行
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux

4、将秘钥发送给服务器

秘钥的默认位置为:/root/.ssh/

5、验证免密登录

Linux网络第四章:SSH远程管理及通过SSH实现服务器之间的免密连接的更多相关文章

  1. 【Linux】服务器之间的免密登录脚本

    在实际运维的过程中,经常需要用到免密登录,下面这个脚本实现服务器之间的免密登录,如下 比如,要实现A服务器与B.C.D服务器的免密登录,只需要将B.C.D服务器的IP地址写在serverlist.tx ...

  2. linux 服务器之间配置免密登录

    客户机:172.16.1.2 远程机:172.16.1.3 1.远程机 a.允许root用户通过22端口登录 vi /etc/ssh/sshd_config PORT 22 PermitRootLog ...

  3. Linux基础知识第六讲,远程管理ssh操作

    目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...

  4. Linux(11):期中架构(3)--- SSH远程管理服务 & ansible 批量管理服务

    SSH远程管理服务 1. 远程管理服务知识介绍 # 1.1 SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Worki ...

  5. Linux系统学习 八、SSH服务—SSH远程管理服务

    1.SSH简介 ssh(安全外壳协议)是Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议.传输的时候是经过加密的,防止信息泄露,比telnet(明文传递)要安全很多. ftp安装 ...

  6. SSH远程管理

    目录 SSH远程管理 ssh功能 SSH相关命令 Xshell连接不上虚拟机 scp命令 SSH验证方式 优化 免交互expect[扩展] 免交互sshpass[扩展] 简易跳板机 小结 SSH远程管 ...

  7. SSH远程管理服务实战

    目录 SSH远程管理服务实战 1.SSH基本概述 2.SSH相关命令 3.Xshell连接不上虚拟机 4.scp命令 5.sftp命令 6.SSH验证方式 7.SSH场景实践 8.SH安全优化 9.交 ...

  8. 五.ssh远程管理服务

    01. 远程管理服务知识介绍 1) SSH远程登录服务介绍说明 SSH是Secure Shell Protocol的简写,由 IETF 网络工作小组(Network Working Group)制定: ...

  9. Testlink1.9.17使用方法( 第四章 测试需求管理 )

    第四章 测试需求管理 QQ交流群:585499566 需求规格说明书是我们开展测试的依据.首先,我们可以对项目(产品)的需求规格说明书进行分解和整理,将其拆分为多个需求,一个项目可以包含多个需求,一个 ...

  10. Linux 设置秘钥登录(SSH免密连接)

    Secure Shell 协议,简称 SSH,是一种加密网络协议,用于客户端和主机之间的安全连接,并支持各种身份验证机制,目前最实用的身份验证机制就是基于密码的身份验证和基于公钥的身份验证两种.Lin ...

随机推荐

  1. 使用Lighthouse更好推动项目性能优化,性能指标详解,优化方法,需要关注指标分析

    Lighthouse是什么---一种工具 Lighthouse 是一个开源的自动化工具,用来测试页面性能. 为什么要用Lighthouse----提升用户体验 Web性能可以直接影响业务指标,例如转化 ...

  2. vue小技巧-vue引入样式、修改难以修改的子组件内部标签样式

  3. npm 启动项目报错 Cannot find module '\@babel\compat-data\data\corejs3-shipped-proposals',解决办法

    最近升级了系统的node ,webpack 等等,然后今天打开项目,突然启动不起来了~~ 报错信息如下: Module build failed (from ./node_modules/babel- ...

  4. Quartz.Net 官方教程 Tutorial 1/3(Jobs 和 Trigger)

    根据官网说明 类型 概述 IScheduler 调度类核心接口 IJob 独立实现业务逻辑需要继承的任务接口 IJobDetail 给任务接口定义实例的任务说明类接口 ITrigger 触发器,设置何 ...

  5. 容器镜像仓库-Harbor的安装及踩坑

    之前实验室的师兄让我帮忙给服务器上装一个Harbor,花了不少时间,遂记录之,以避坑. 在学习使用Harbor之前,需要了解Docker的使用,可以看看我之前的博客:应用容器引擎-Docker.Doc ...

  6. 【学习日志】Cglib动态代理和JDK动态代理的对比

      Cglib JDK Proxy 实现方式 生成被代理类的子类 通过被代理类实现的接口+反射 速度 慢(曾经快于JDK Proxy,但JDK Proxy几次迭代后逐渐落后) 快 限制 被代理类不能是 ...

  7. @Slf4j -- lombok.extern.slf4j.Slf4j;

    @Log4j:注解在类上:为类提供一个 属性名为log 的 log4j 日志对像 package com.atguigu.springcloud.controller; import com.atgu ...

  8. c++标准库string的使用完美总结——十分详细,复习学习记忆都可以使用

    std::string详解 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足 ...

  9. UBUNTU安装代码阅读器Understand

    https://blog.csdn.net/weixin_40641902/article/details/79607225 1.直接下载 Understand-3.1.670-Linux-64bit ...

  10. 在react项目如何捕获错误

    在React项目是如何捕获错误的? 一.是什么 错误在我们日常编写代码是非常常见的 举个例子,在react项目中去编写组件内JavaScript代码错误会导致 React 的内部状态被破坏,导致整个应 ...