配置sshd服务

1、概述:

    SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理 Linux 系统的首选方式。在此之前,一般使用 FTP 或 Telnet 来进行远程登录。但是因为它们 以明文的形式在网络中传输账户密码和数据信息,因此很不安全,很容易受到黑客发起的中 间人攻击,这轻则篡改传输的数据信息,重则直接抓取服务器的账户密码。 想要使用 SSH协议来远程管理Linux系统,则需要部署配置sshd 服务程序。sshd是基于SSH 协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:

      ➢ 基于口令的验证—用账户和密码来验证登录;

      ➢ 基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器, 并与服务器中的公钥进行比较;该方式相较来说更安全。

2、操作步骤:

    2.1第一步:

        修改主配置文件/etc/ssh/sshd_config,配置文件中有许多以 井号开头的注释行,要想让这些配置参数生效,需要在修改参数后再去掉前面的井号。

    2.2第二步:

        在 RHEL 7 系统中,已经默认安装并启用了 sshd 服务程序。接下来使用 ssh 命令进行远 程连接,其格式为“ssh [参数] 主机 IP 地址”。要退出登录则执行 exit 命令。

例子:

[root@localhost Desktop]# ssh 192.168.232.151
root@192.168.232.151's password:
Last login: Sat Dec 22 16:14:34 2018 from 192.168.232.137
[root@localhost ~]#

[root@localhost ~]# exit        #退出ssh
logout
Connection to 192.168.232.151 closed.
[root@localhost Desktop]#

      2.3第三步:功能增强型操作

          如果禁止以 root 管理员的身份远程登录到服务器,则可以大大降低被黑客暴力破解密码 的几率。下面进行相应配置。首先使用 Vim 文本编辑器打开 sshd 服务的主配置文件,然后把 第 48 行左右的#PermitRootLogin yes 参数前的井号(#)去掉,并把参数值 yes 改成 no,这样就不再 允许 root 管理员远程登录了。

[root@localhost Desktop]# ssh 192.168.232.151
root@192.168.232.151's password:         #此处我们是输入了正确的密码,但是由于服务器的主配置文件中设置了PermitRootLogin no,不允许 root 管理员远程登录。
Permission denied, please try again.
root@192.168.232.151's password:
Permission denied, please try again.
root@192.168.232.151's password:

【注意】一般的服务程序并不会在配置文件修改之后立即获得最新的参数。如果 想让新配置文件生效,则需要手动重启相应的服务程序(systemctl restart sshd)。最好也将这个服务程序加入到开机 启动项中(systemctl enable sshd),这样系统在下一次启动时,该服务程序便会自动运行,继续为用户提供服务。 

=============================================================================================================================

SSH安全密钥验证:

1、概述:

  加密是对信息进行编码和解码的技术,它通过一定的算法(密钥)将原本可以直接阅读 的明文信息转换成密文形式。密钥即是密文的钥匙,有私钥和公钥之分。在传输数据时,如果 担心被他人监听或截获,就可以在传输前先使用公钥对数据加密处理,然后再行传送。这样, 只有掌握私钥的用户才能解密这段数据,除此之外的其他人即便截获了数据,一般也很难将 其破译为明文信息。既不采用手动输入密码登陆,直接密钥验证登陆,更安全,不容易破解。

2、配置步骤:

    2.1第一步:在客户端主机中生成“密钥对”。命令:ssh-keygen 

        

   

   2.2第二步:把客户端主机中生成的公钥文件传送至远程主机。命令:ssh-copy-id 192.168.232.151    #注意这个IP地址是将客户机生成的密钥发送到服务器的目标主机IP地址。成功登陆验证过后,便不再需要输入密码验证。

  

    2.3第三步:对服务器进行设置,使其只允许密钥验证,拒绝传统的口令验证方式。将PasswordAuthentication yes改成PasswordAuthentication no即可。

         验证:ssh 192.168.232.151

【注意】客户端生成的公钥和私钥文件存放位置。

远程控制服务:配置sshd服务,密钥验证登陆的更多相关文章

  1. Liunx 配置sshd服务

    简介 SSH(Secure Shell)是一种能够提供安全远程登录会话的协议,也是目前远程管理Linux系统最首选的方式,因为传统的ftp或telnet服务是不安全的,它们会把帐号口令和数据资料等数据 ...

  2. Linux vsftpd服务配置以及三种验证方式以及常见错误解决办法

    文件传输协议(FTP): 文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传.下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件 ...

  3. NFS服务、SSHD服务

    本章内容: NFS服务 SSHD服务 NFS服务 NFS(Network File System)即网络文件系统,用以在网络上与他人共享文件和目录:NFS是运行在应用层的协议:基于Client/Ser ...

  4. nginx服务配置---php服务接入

    前言: 最近要搭建一个内部的wiki系统, 网上搜了一圈, 也从知乎上搜集了一些大神的评价和推荐. 重点找了几个开源的wiki系统, 不过发现他们都是采用php来实现的. 于是乎需要配置php环境, ...

  5. 《linux就该这么学》第十一节课: 第九章,网卡绑定与sshd服务

    8.4.服务的访问控制列表 TCPwrappers是RHEL7中默认启用的流量监控程序,能够对服务做出允许或拒绝. TCPwrappers服务由两个文件控制:  /etc/hosts.allow    ...

  6. 虚拟机console基础环境配置——sshd安全登陆

    1. 概述2. 配置console的登陆2.1 配置sshd服务2.2 重启sshd服务2.3 无法登陆的问题解决3. 配置密钥登陆3.1 上传公钥的方式3.2 下载密码的方式3.3 虚拟机和宿主机共 ...

  7. linux的服务管理(centos6和Centos7)和网络管理(网卡配置),计划服务cron

    服务和网络 管理 init  ifcfg ens33 1.服务: Linux系统中提供的功能,统称为服务,如:at服务.cron服务.web服务.FTP服务.sshd服务等. 服务是由已经在运行的进程 ...

  8. 自定义sshd服务

    1.安装rsyslog服务和sshd服务并启动 2.配置日志文件    vim /etc/rsyslog.conf        在里面添加一行 local*.    /var/log/sshd.lo ...

  9. Windows 平台下安装Cygwin后,sshd服务无法启动

    Windows 平台下安装Cygwin后,sshd服务无法启动 系统日志记录信息: 事件 ID ( 0 )的描述(在资源( sshd )中)无法找到.本地计算机可能没有必要的注册信息或消息 DLL 文 ...

随机推荐

  1. 实用技巧之while里面使用getchar或sleep函数

    我们经常需要打印一些变量的取值来调试程序,使用while(1)是常用的手段. ) { char letter = getchar(); printf("test_point is %d \t ...

  2. JFinal Enjoy指令扩展管理常用文本模板

    个人博客 地址:http://www.wenhaofan.com/article/20190304102258 平时在项目中使用短信模板 邮件模板以及 站内消息通知等文本模板一般都是通过手动的字符串拼 ...

  3. GitBook的使用方式,快速创建网页文档

    环境需求:node npm 得装好 ----------------------------------- 我一开始不知道得先装gitbook-cli 先执行了 npm install gitbook ...

  4. Mabitis中的#与$符号区别及用法介绍

    这篇文章主要介绍了Mabitis中的 #{}与   ${} 符号区别,需要的朋友可以参考下 一.介绍 mybatis 中使用 Mapper.xml里面的配置进行 sql 查询,经常需要动态传递参数,例 ...

  5. navicat连接mysql8.0+版本报错2059

    ERROR 2059 : Authentication plugin 'caching_sha2_password' cannot be loaded 问题: 连接Docker启动的mysql出现:E ...

  6. 浅谈radis

    1.概述 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API 从2010年3月15日起,Redis的开发工作由VM ...

  7. Python目录结构规范

    在设计大型项目时需要规范目录结构. 假设你的项目名为foo, 我比较建议的最方便快捷目录结构这样就足够了: Foo/ |-- bin/ | |-- foo | |-- foo/ | |-- tests ...

  8. Codeforces Round #601 (Div. 2) A Changing Volume

    好吧,其实我拿到这个题的时候,首先想到了bfs,写完之后,开开森森的去交代码,却在第二个数据就TEL,然后优化半天,还是不行. 最终,我盯着1,2,5发呆半天,wc,然后直接贪心 #include&l ...

  9. Python 编辑注意点

    文本编辑 Python: 绝对不能用Word和Windows自带的记事本. (1)Word保存的不是纯文本文件 (2)记事本会自作聪明地在文件开始的地方加上几个特殊字符(UTF-8 BOM),结果会导 ...

  10. Java必须知道的知识点

    junit用法,before,beforeClass,after, afterClass的执行顺序 分布式锁 nginx的请求转发算法,如何配置根据权重转发 用hashmap实现redis有什么问题( ...