一,openssh服务版本号的查看

1,查看当前sshd的版本号 :

[root@yjweb ~]# sshd --help
unknown option -- -
OpenSSH_7.8p1, OpenSSL 1.1.1 FIPS 11 Sep 2018

说明:sshd没有专门的打印版本号和帮助文档的命令,

当参数不正确时会自动打印这些信息

2,查看当前ssh客户端程序的版本号

[root@yjweb ~]# ssh -V
OpenSSH_7.8p1, OpenSSL 1.1.1 FIPS 11 Sep 2018

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,修改sshd的配置文件后,如何测试是否有效?

在重启 sshd 前检查配置文件的有效性和密匙的完整性,运行:

[root@yjweb ~]# sshd -t

无反馈则表示配置文件无问题

三,openssh的安全配置

编辑 配置文件:

[root@yjweb ~]# vi /etc/ssh/sshd_config

内容包括:

1,禁止使用root登录ssh

#PermitRootLogin yes
PermitRootLogin no

说明:默认值是yes,要修改为no

2,修改默认端口,不使用22,避免受到攻击

#Port 22
Port 31234

3,新添加一行:只允许指定的用户登录

AllowUsers webop

4,禁止密码登录:

PasswordAuthentication no

说明:要启用这一项,需要先配置可登录到server的密钥

四,修改配置后重启openssh

[root@yjweb ~]# systemctl restart sshd 

五,禁止root登录之后,再次用root连接ssh服务会提示报错:

[SSH] FAIL: x.x.x.x:22 - Connection refused

x.x.x.x是服务器的ip

说明:如果使用云服务器ecs,请注意修改服务器的安全规则,

在安全规则中增加我们为sshd修改的端口,

因为安全规则比我们自己的防火墙规则位于更外层

六,如果禁用密码登录,则需要设置密钥ssh登录:

1,在ssh客户端生成密码钥对

[root@yjweb ~]# ssh-keygen -t rsa

说明:中间一路回车即可,

不要设置密码

-t参数可以指定四种算法类型

[-t dsa | ecdsa | ed25519 | rsa]

我们选择 rsa

说明:查看参数可以使用通用的帮助命令:

[root@yjweb ~]# man ssh-keygen 

密钥生成后,可以从用户的home目录下.ssh目录看到

[root@yjweb ~]# ls .ssh/
authorized_keys id_rsa id_rsa.pub known_hosts

2,复制公钥到ssh服务器

用ssh-copy-id命令复制

[root@yjweb ~]# ssh-copy-id -i .ssh/id_rsa.pub root@121.122.123.134
/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/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@121.122.123.134's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@121.122.123.134'"
and check to make sure that only the key(s) you wanted were added.

登录到ssh服务器,查看authorized_keys

[root@os3 ~]# more .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDiZNKuLsJqi0M......

可以看到我们在a服务器的公钥已经成功添加到了ssh服务器的 authorized_keys文件上

3,登录时需要指定私钥文件的路径

如果你的私钥位于你当前账号的home目录下的.ssh文件夹下,这个是默认位置,即你没有改动过私钥文件的位置,则可以直接ssh,无需指定文件路径

例如:

[root@yjweb ~]# ssh root@121.122.123.134
Last login: Wed Mar 18 18:53:07 2020 from 121.105.107.47
[root@os3 ~]#

如果密钥的路径改名过或在特定目录,则需要指定位置,

用 -i参数即可

[root@yjweb ~]# ssh -p 1234 -i /root/testsshkey root@121.122.123.134
[root@os3 ~]#

七,查看当前的centos版本

[root@yjweb ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

centos8上配置openssh的安全的更多相关文章

  1. centos8上配置openresty/nginx可访问php

    一,创建一个测试站的目录 [root@yjweb data]# mkdir dev [root@yjweb data]# cd dev [root@yjweb dev]# mkdir think_ww ...

  2. 在Fedora18上配置个人的Hadoop开发环境

    在Fedora18上配置个人的Hadoop开发环境 1.    背景 文章中讲述了类似于"personalcondor"的一种"personal hadoop" ...

  3. Centos8上搭建EMQ MQTT

    layout: post title: Centos8上搭建EMQ MQTT subtitle: 在阿里云Centos8搭建EMQ并配置接入 date: 2020-3-11 author: Dapen ...

  4. 【转】在CentOS 8 / RHEL 8上配置主/从BIND DNS服务器

    转自: https://zh.codepre.com/centos-2700.html 前言 本指南描述了在CentOS 8 / RHEL 8 Linux上配置BIND DNS服务器所需的步骤.在Ce ...

  5. CentOS8上安装MySQL

    没有选择Win10上安装MySQL,个人感觉比较傻瓜式.同时相对Win10操作系统,个人更熟悉Unix/Linux操作系统,所以选择在CentOS8上安装MySQL数据库. 还是熟悉的yum安装,前提 ...

  6. 在Mac系统上配置Android真机调试环境

    在Mac系统上配置Android真机调试环境 mac上配置安卓环境还说挺方便的,真机调试也比win上要好一些.win上被各种软件强行安装了xxx助手. 在mac上就了一个干净的感觉. 下载Androi ...

  7. 在 Linux 上配置一个 syslog 服务器

    syslog服务器可以用作一个网络中的日志监控中心,所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它. 通过设置一个syslo ...

  8. 在Mac上配置adb命令

    在Mac上配置adb命令 在Mac OS中使用adb命令时,应进行变量配置,步骤如下: 一.终端中输入 cd ~ 二.输入touch .bash_profile 回车 touch:如果没有,则创建文件 ...

  9. 在Linux上配置xampp后远程访问域名报错

    在Linux上配置xampp后远程访问域名报错: New XAMPP security concept: Access to the requested object is only availabl ...

随机推荐

  1. [04] C# Alloc Free编程之实践

    C# Alloc Free编程之实践 上一篇说了Alloc Free编程的基本理论. 这篇文章就说怎么具体做实践. 常识 之所以说是常识, 那是因为我们在学任何一门语言的时候, 都能在各种书上看到各种 ...

  2. oracle之二ASM 管理

    Oracle ASM 管理(PPT-II:602-636) 16.1 什么是ASM 自动存储管理即ASM(Automatic Storage Management),是Oracle提供的一项管理磁盘的 ...

  3. day09记录

    今日内容大纲 毒鸡汤课 坚持.努力! 生成器 yield yeild return yeild from 生成器表达式 内置函数I 昨日内容回顾作业讲解 可迭代对象 可以更新得带的 实实在在的值. 内 ...

  4. 7.kafka HA

  5. 想要搭建个论坛?Guide哥调研了100来个 Java 开源论坛系统,发现这 5 个最好用!

    大家好!我是 Guide 哥,Java 后端开发.一个会一点前端,喜欢烹饪的自由少年. 最近有点小忙.但是,由于前几天答应了一位读者自己会推荐一些开源的论坛系统,所以,昨晚就简单地熬了个夜,对比了很多 ...

  6. Shell学习(一)认识Shell

    一.啥是Shell Shell : 一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell脚本 :  一种为 shell 编写的 ...

  7. 刷题[b01lers2020]Life on Mars

    解题思路 打开网站,检查常见的信息泄露,漏洞扫描等,都无hint.这时候有点难办了,又找了一会儿,发现抓包标签时,get的值会有参数 尝试访问,发现有如下内容: 因为实在其他地方找不到任何思路了,看着 ...

  8. Solon详解(八)- Solon的缓存框架使用和定制

    Solon详解系列文章: Solon详解(一)- 快速入门 Solon详解(二)- Solon的核心 Solon详解(三)- Solon的web开发 Solon详解(四)- Solon的事务传播机制 ...

  9. 实战:一种在http请求中使用protobuffer+nginx+lua收集打点日志的方案

    背景 app打点日志的上报和收集,是互联网公司的基本需求. 一.方案选择 1.1 protobuffer vs json 探究一种以最高效的方式上报和解析打点数据是一个系统性的问题,需要解决的子问题有 ...

  10. Python-__init__ 和 __new__区别和原理

    __init__ 和 __new__区别 1. 从传递参数角度看,__init__第一个参数是实例本身, __new__传递的是类本身 2. 从执行顺序角度看,__new__方法执行在 __init_ ...