ssh服务及其免密配置

2023-10-26

ssh服务

1.ssh是什么?掌握原理

ssh -->secure shell

安全的shell,用来远程管理服务器,网络上传输的内容时进行了加密

ssh 是一个应用层的协议

openssh 是一个软件,底层使用ssh协议来远程管理服务器,这个软件是开源免费的,主要在linux和unix中使用。windows不使用。

ssh基于公钥加密(非对称加密)

  1. 数据加密传输
  2. 客户端和服务器的身份验证
公钥(public key)和私钥(private key)
  • 两者成对出现,两个互不相同,可以互相加密和解密
  • 不能根据一个密钥推算另外一个
  • 公钥对外公开,私钥只有私钥的持有人知道
  • 私钥应该由密钥的持有人妥善保管

使用:

  • 发送方使用接收方的公钥加密数据
  • 接收方使用自己的私钥解密数据
  • 数据加密可以保证所发送数据的机密性

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wSfh7YRQ-1597978210040)(file:///C:\Users\Administrator\Documents\Tencent Files\2420243437\Image\Group2$7\HL$7HLPZK[OMDLTQY[I20QLOX.jpg)]

密钥的两个功能:

  1. 数据加密
  2. 数字签名

web网站 --》http 80,https 443

telnet协议 --》明文–》用来远程管理 23

ssh–》端口 22

ssh-- 》openssh --》ssh协议

2.安装配置,调试,排错

rpm -ql openssh

rpm -qa|grep openssh

rpm -pa 查询本机安装过的所有软件包

-q query

-a all

openssh软件默认在centos678系统里已经安装,不需要安装了

3.修改配置文件–》记配置项

cd /etc/ssh

man sshd_config

man 5 sshd_config 查看每一项配置的详细情况

port 22 表示端口号

安全措施

  1. 修改端口号
  2. 禁用root用户登录
  3. 使用密钥认证
  4. 将密码尽量设置复杂
  5. iptables
  6. tcp wrappers(centos 6)

ListenAddress 0.0.0.0 监听本地所有接口的IP地址,就是在本地所有的ip都提供ssh服务(监听的ip地址)

PermitRootLogin no 不能通过root用户登录,只能使用普通户用登录

通过普通用户如何使用高权限?

  1. sudo
  2. su 切换用户

修改配置文件后需要重启才能生效。

两种认证方式

  1. 密码认证–》/etc/passwd /etc/shadow PasswordAuthentication yes
  2. 密钥认证 --》sshd里的密钥认证 PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys 保存公钥的文件目录

客户机使用ssh第一次连接服务器时,将服务器上的sshd守护进程的公钥复制到本地

存放在本地~/.ssh/known_hosts目录

ssh常用命令

scp:远程复制

ssh:远程登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UCFAVHwH-1597978210043)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1594630019270.png)]

sftp

日志

建立免密通道(做信任)

ssh-keygen -t ecdsa 生成一对密钥对 分公钥和私钥 存放在~/.ssh目录中 类型为ecdsa
[root@localhost ~]# ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/root/.ssh/id_ecdsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_ecdsa.
Your public key has been saved in /root/.ssh/id_ecdsa.pub.
The key fingerprint is:
SHA256:xJ9c+dOaWe9WENBDpKDJkQEiatRZPHMFg4mBadCn5IU root@localhost.localdomain
The key's randomart image is:
+---[ECDSA 256]---+
|oo=oB.++=+. .=o  |
|.=E=oB +o+ . o+  |
|o+ +  + *   +  o |
|. o    . o o ... |
|        S +   o.o|
|               *o|
|              + o|
|               ..|
|               ..|
+----[SHA256]-----+
[root@localhost ~]# cd .ssh
[root@localhost .ssh]# ls
authorized_keys  id_ecdsa  id_ecdsa.pub  known_hosts
[root@localhost .ssh]# ssh-copy-id -i id_ecdsa.pub root@39.106.174.171
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "id_ecdsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@39.106.174.171's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@39.106.174.171'"
and check to make sure that only the key(s) you wanted were added.

[root@localhost .ssh]# ssh 39.106.174.171
Last failed login: Mon Jul 13 16:48:21 CST 2020 from 222.247.211.18 on ssh:notty
There was 1 failed login attempt since the last successful login.
Last login: Mon Jul 13 16:39:25 2020 from 222.247.211.18

Welcome to Alibaba Cloud Elastic Compute Service !
ssh-copy-id -i id_ecdsa.pub root@39.106.174.171 将生成的公钥传给服务器,做完这一步就可以通过ssh免密连接到服务器(39.106.174.171)上

免密通道是实现一台客户机控制多台服务器的有效手段

单向(双向)信任

Elastic Compute Service !


ssh-copy-id -i id_ecdsa.pub root@39.106.174.171 将生成的公钥传给服务器,做完这一步就可以通过ssh免密连接到服务器(39.106.174.171)上


免密通道是实现一台客户机控制多台服务器的有效手段

单向(双向)信任

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ssh服务及其免密配置 的相关文章

随机推荐

  • STM32系列(HAL库)——F103C8T6通过SPI方式读写W25Q64—(Flash存储模块)

    1 软件准备 1 编程平台 Keil5 2 CubeMX 3 XCOM 串口调试助手 2 硬件准备 1 W25Q64模块 2 F1的板子 本例使用经典F103C8T6 3 ST link 下载器 4 USB TTL模块 5 杜邦线若干 3
  • 基于小波变换的条纹图相位提取方法及matlab代码实现

    基于小波变换的条纹图相位提取方法及matlab代码实现 引言 在许多光学应用中 条纹图像是一种常见的景象 例如 条纹图像可以用于形貌量测 如三维重建 运动测量 如速度场测量 以及表面缺陷检测等领域 而在条纹图像处理中 相位提取是一项非常关键
  • Hashpump实现哈希长度扩展攻击

    Hashpump实现哈希长度扩展攻击 RCEME 0x01 HASH长度拓展攻击 哈希长度拓展攻击的原理有点过于复杂了 这里直接copy其他大佬的描述了 长度扩展攻击 length extension attack 是指针对某些允许包含额外
  • MYSQL访问控制与安全管理

    用户账户管理 利用select语句查看mysql数据库的使用者帐号 select user from mysql user 1 创建用户帐号 语法格式 create user lt 用户名 gt identified by password
  • 在师生们框架下的Spring mvc编程错误

    在ssm框架下 Springmvc 编程 时 出现传值问题 从后台传到前台时可以使用 Resource HttpSession session 采用jsp中的参数名与control层响应的的参数名一致传参 RequestMapping va
  • 微信小程序开发:实现微信支付功能

    微信支付是一种便捷 安全 快速的支付方式 可以在微信中轻松完成支付 不需要用户输入过多的信息 只需要简单的几步即可完成 在微信小程序中 也可以集成微信支付功能 为用户提供更加完善的购买体验 下面将详细介绍微信小程序开发中如何实现微信支付功能
  • 如何提升 API-First 设计流程

    一个 API First 设计应该具有可复用性 互操作性 可修改性 用户友好性 安全性 高效性 务实性 并且重要的是 与组织目标保持一致 这些基本特征将确保 API 能够有效地为 API First 组织战略和开发模式做出贡献 在这种模式中
  • 1入门基础知识

    1 C 98关键字 面试 C 语言中一共有多少个关键字 在C 98中有63个关键字 在回答的时候一定要带上语言标准带上 2 命名空间 2 1 概念 实际就是一个新的作用域 用来解决命名冲突问题 2 2 定义方式 方式一 namespace
  • Java的安装以及配置

    Java安装及配置 一 Java安装 一 准备工作 1 在磁盘中新建两个文件夹 建议不要新建在系统盘中 我将其分别命名为JDK1 8 jre1 8 0 102 作为一会儿安装使用到的路径 2 下载好工具软件包 我的是64位的 可以从官网下载
  • c语言数学字符,C语言中涉及的数学问题

    数学函数如何用C语言来表示 但是这些文件的头应写为 include或者 include math h sin x sinx asin x arcsinx cos x cosx acos x arccosx tan x tanx atan x
  • 关于敏捷的一点感悟笔记

    此笔记写于大约二 三年前 现贴出存档 有点顿悟的感觉了 发挥团队的力量 让每个人主动计划 主动设计 主动发表意见 任何人可以发起讨论 任何人可以发起改进 而不是一个人设计 一个人分配任务 一个人设计思路 那样就不是团队 是包工头和工人的关系
  • 大神浅谈无人机飞控软件设计 系统性总结

    写在前面 深感自己对飞控软件 算法的知识点过于杂乱 很久没有进行系统的总结了 因此决定写几篇文章记录一些飞控开发过程的知识点 主要是针对一些软件 算法部分进行讨论 如内容有错误 欢迎指出 1 飞控软件的基本模块 无人机能够飞行主要是依靠传感
  • 使用flex布局,子元素怎么高度自适应?

    1 想用flex实现这种布局 2 各个子元素高度不固定 从上到下依次排列 请问可以怎么实现 附 我对父元素定义了下面的规则 display flex flex flow row wrap 对子元素用p标签放了一些文本 未设置高度 结果显示效
  • 如何实现自定义的DataSource

    有时候我们希望能自己写一个component 并可以像DataSet 那样可以在设计时可以显示出其中的collection 以及collection中的可绑定的属性 一下提供了一个简要的介绍 IListSource 如果你的componen
  • 微信小程序插件接入

    微信小程序插件接入 插件 是可被添加到小程序内直接使用的功能组件 开发者可以像开发小程序一样开发一个插件 供其他小程序使用 同时 小程序开发者可直接在小程序内使用插件 无需重复开发 为用户提供更丰富的服务 如需开发插件 请阅读开发插件部分
  • java异常处理throw new RuntimeException(e)

    1 java try catch 异常后还会继续执行吗 catch 中如果你没有再抛出异常 那么catch之后的代码是可以继续执行的 但是try中 报错的那一行代码之后 一直到try结束为止的这一段代码 是不会再执行的 代码1 public
  • 跨域 nginx反向代理proxy未添加pathRewrite导致的404问题

    跨域 nginx反向代理proxy未添加pathRewrite导致的404问题 pathRewrite是使用proxy进行代理时 对请求路径进行重定向以匹配到正确的请求地址 未添加pathWrite时 proxy csdn target h
  • ecshop 404设置方法

    ecshop是一款非常好的B2C开源程序 但SEO方面做的不足的地方不少 比如404 TITLE方面 今天分享下ecshop404设置方法 默认的ECSHOP也做了这方面的设置 它的设置是这样的 当某个商品或者商品类别不存在的时候 自动跳转
  • Java 知识点整理-14.File类

    应用Alt 对变量调用方法进行快速打印 选中要打印的内容 按Alt 选最后一个选项 方法介绍中 未明确指明对文件或目录进行操作 则两者皆可 目录 File类的概述 File类的构造方法 File类的创建功能 File类的重命名和删除功能 F
  • ssh服务及其免密配置

    ssh服务 1 ssh是什么 掌握原理 ssh gt secure shell 安全的shell 用来远程管理服务器 网络上传输的内容时进行了加密 ssh 是一个应用层的协议 openssh 是一个软件 底层使用ssh协议来远程管理服务器