大纲:

1. 培养独自解决问题的能力

2. 学习第二阶段Linux服务管理的方法

3. 安装sshd服务

4. sshd服务的使用

5. sshd服务调优

6. 初步介绍sshd配置文件

######################################

1. 培养独自解决问题的能力

遇到问题的解决方法:

1. 先仔细回看上课笔记

2. 如果上课笔记没有,在查阅互联网资料,书籍等

3. 如果以上都没找到,在发消息给老师求助

4. 关键是:不要怕失败,多动手,多实验,多敲代码!!!

学会培养独立解决 问题的能力和方法,很重要!!!

2. 学习第二阶段Linux服务管理的方法

学习服务的方法:

1. 了解服务的作用:名称,功能,特点

2. 安装服务

3. 配置文件的位置,端口

4. 服务开启和关闭的脚本

5. 此服务的使用方法

6. 修改配置文件(实战举例)

7. 排错(从上倒下,从内到外)

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

3. 安装sshd服务

SSHD服务

介绍:ssh协议,即安全外壳协议.为Secure Shell的缩写.SSH为建立在应用层和传输层基础上的安全协议.

作用:sshd服务使用ssh协议可以用来进行远程控制,或在计算机之间传送文件.

相比较之前用telnet方式传输文件要安全很多,因为telnet使用明文传输,而sshd是加密传输.

服务安装:

需要安装OpenSSH四个安装包

OpenSSH软件包,提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此代替原来的类似服务.

3.1 查看sshd服务是否已安装

which sshd #查询命令路径,是否存在sshd命令

rpm -qa | grep openssh

#sshd服务的安装包名中包含字段openssh,通过搜索,查看openssh包是否已安装

3.2 安装sshd服务

yum -y install openssh* #通过yum安装openssh包

#推荐使用yum安装,前提必须配置好本地yum源或网络yum源

#使用yum或rpm安装的软件包一般安装路径会保存到大的目录下如/etc等

#使用源码安装的软件,需要自定义

也可使用如下命令进行安装:

rpm -ivh /mnt/Packages/openssh*.rpm #rpm安装sshd的方法

3.3 查看安装服务生成文件列表

安装完成后,查看生成了哪些文件:

rpm -ql openssh

我们看到sshd服务

安装路径在/etc/ssh目录下

帮助文档在/usr/share/doc/openssh-5.3pl和/usr/share/man目录下

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

4.sshd服务的使用(ssh协议)

Way 1:

---------------------------------------------

使用sshd服务远程连接某主机时,可使用如下命令:

ssh <IP Address>

使用如上命令,ssh默认以root用户登录

例如:

ssh 192.168.171.120

这时,我们收到了确认信息!如下:

The authenticity of host '192.168.171.121 (192.168.171.121)' can't be established.

RSA key fingerprint is b2:65:b6:46:65:ba:c3:d6:f8:b8:59:99:01:37:5c:c1.

Are you sure you want to continue connecting (yes/no)?

其中RSA算法,是采用两个大素数相乘的得数而得来的.本地保存有两个大素数(由于两个大素数相乘得数有很多分解因式,所以很难破解,越长需要破解的时间越长,这是公有密钥中还是很安全的!!)

在我们属于yes确认连接后,会在本地目录中保存下公有密钥.详情如下:

这个确认信息,只在第一次连接时,出现.在第一次连接后,会在宿主目录.ssh/know_hosts下保存信息.

Warning: Permanently added '192.168.171.121' (RSA) to the list of known hosts.

在下次在删除宿主目录下的.ssh的文件夹后,当我们再次连接时,不会在出现确认信息

Way 2:

---------------------------------------------

ssh <UserName>@<IP Address>

使用如上命令,可以指定远程登录用户(这里可以指定非root用户进行远程登录)

例如:

ssh gan@192.168.171.120

在远程登录主机上,添加普通用户gan:

useradd gan && echo "123456" | passwd gan --stdin

在客户端192.168.171.120中使用gan用户远程登录192.168.171.121:

ssh gan@192.168.171.121

 

Way 3:(The same as Way 2)

---------------------------------------------

ssh -l <UserName> <IP Address>

-l #指定login name

例如:

ssh -l gan 192.168.171.120

更多信息---> ssh --help

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

5. sshd服务配置文件及调优

查看sshd配置文件:

Server端配置文件:

vim /etc/sshd/sshd_config #server端

在配置文件中,以#开头的可能是注释,也可能是默认配置

按照我的理解,以#开头直接跟着字母的行为默认配置

以#开头,后面跟着一个空格符号后,紧跟这字符的行为注视信息,

如下图:

23行为注释信息,24行为默认配置文件

由上图可知:

Port 22

# SSH 预设使用 22 这个port,也可以使用多个port,即重复使用 port 这个设定项目

我们可以修改默认的端口,来防止别人暴力破解!!(注意:修改后需重启sshd服务)

AddressFamily any

默认使用所有协议簇

---------------------

ListenAddress 0.0.0.0

ListenAddress ::

默认监听所有地址的连接.第一行监听IPV4地址,第二行监听IPV6地址

若只允许某个地址或地址段进行远程连接,可将第一行修改成如下:

ListenAddress 192.168.171.120 #只监听来自192.168.171.120的连接

ListenAddress 192.168.171.0 #监听来自192.168.171.0网段的连接

---------------------

Protocol 2

表示采用安全协议的版本号,为2

---------------------

SyslogFacility AUTHPRIV

生成日志信息的格式,采用AUTHPRIV,sshd服务日志文件在:

ls /var/log/secure

服务日志文件可监控别人远程登录的信息,监控这个文件的变化,可以有效防止别人暴力破解

---------------------

LoginGraceTime 2m

默认连接时间是2min,当连接时,超过2min没有回应时,断开连接!

若没有单位,默认为秒(s)

# 当使用者连上 SSH server 之后,会出现输入密码的画面,在该画面中,

# 在多久时间内没有成功连上 SSH server 就强迫断线!若无单位则默认时间为秒!

可以根据实际情况来修改实际

---------------------

PermitRootLogin yes

设置是否允许远程登录root用户! yes允许,no不允许(一般服务器都禁止root用户远程登录)

---------------------

StrictModes yes

当使用者的 host key 改变之后,Server 就不接受联机.

可以抵挡部分的木马程序!

---------------------

PasswordAuthentication yes

密码验证,当远程连接发生时,使用密码验证!这个是很需要的!!!

在真实生产环境中,根据不通安全级别,有的设置是不需要密码登录而是通过认证的密钥来登录的!

---------------------

PermitEmptyPasswords no

使用允许无密码登录,如果上一项设置为yes,这一项最好设置为no

这是不允许远程连接以空密码登录

---------------------

PrintMotd yes

登陆后是否显示一些信息!!我们可以在文件

/etc/motd文件内进行设定!

例:给sshd服务添加一些警告信息

[root@xiaogan121 ~]# echo 'Warning ! From now on, all of your operation has been 4record!'> /etc/motd

[root@xiaogan121 ~]# cat /etc/motd

测试:

[root@xiaogan120 ~]# ssh 192.168.171.121

root@192.168.171.121's password:

Last login: Thu Sep 15 16:28:36 2016 from 192.168.171.120

Warning ! From now on, all of your operation has been 4record!

警告!从现在开始,你所有的操作已经被记录!

---------------------

PrintLastLog yes

是否打印上次登录信息!

通过这个打印信息,我们可以根据最近一次登录的地址,来判断是否有人登录过我们的机器

例:

[root@xiaogan120 ~]# ssh 192.168.171.121

root@192.168.171.121's password:

Last login: Thu Sep 15 16:28:36 2016 from 192.168.171.120  #就是这个信息

---------------------

UseDNS yes

一般来说,为了要判断客户端来源是正常合法的,因此会使用 DNS 去反查客户端的主机名

不过如果是在内网互连,这项目设定为 no 会让联机速度比较快。

#################################

Client端配置文件:

vim /etc/sshd/ssh_config #client端

#################################

优化sshd配置文件,防止暴力破解sshd服务

其实,实质就是修改sshd默认监听端口,

(22号端口为sshd默认端口,故我们改成别人不容易知道的端口即可)

# SSH 预设使用 22 这个port,也可以使用多个port,即重复使用 port 这个设定项目!

# 例如想要开放 sshd 端口为 22和 222 ,则多加一行内容为: Port 222  即可

# 然后重新启动 sshd 这样就好了。 建议大家修改 port number 为其它端口。防止别人暴力破解。

过程如下:

vim /etc/ssh/sshd_config

修改如下行:

#Port 22

为如下行:

Port <PortNum> #PortNum为指定的修改后端口

如:Port 123

保存退出后,重启sshd服务

/etc/init.d/sshd restart

service sshd restart

查看sshd监听端口

ss -tulnp | grep ssh

netstat -anlpt | grep ssh

2-2-sshd服务安装管理及配置文件理解和安全调优的更多相关文章

  1. 开源服务专题之------sshd服务安装管理及配置文件理解和安全调优

    本专题我将讨论一下开源服务,随着开源社区的日趋丰富,开源软件.开源服务,已经成为人类的一种公共资源,发展势头可谓一日千里,所以不可不知.SSHD服务,在我们的linux服务器上经常用到,很重要,涉及到 ...

  2. sshd服务安装和配置管理

    1.SSHD简介(介绍) SSH协议:安全外壳协议,为Secure Shell的缩写,SSH为建立在应用层和传输层基础上的安全协议. sshd服务使用SSH协议可以用来进行远程控制,或在计算机之间传送 ...

  3. Ubuntu安装及sshd服务安装,yum安装等总结

    vm网络选择自定义.指定的虚拟网络,自动桥连.   1.设置root初始密码 ubuntu安装好后,root初始密码(默认密码)不知道,需要设置.1.先用安装时候的用户登录进入系统2.输入:sudo ...

  4. sshd服务安装

    SSHD服务 介绍:SSH 协议:安全外壳协议.为 Secure Shell 的缩写.SSH 为建立在应用层和传输层基础上的安全协议. 作用:sshd服务使用SSH协议可以用来进行远程控制, 或在计算 ...

  5. sshd服务安装-ssh命令使用方法

    SSHD服务概述 介绍:SSH协议:安全外壳协议.为 Secure Shell的缩写.SSH 为建立在应用层和传输层基础上的安全协议. 作用:SSHD服务使用SSH协议可以用来进行远程控制,或在计算机 ...

  6. java内存管理之垃圾回收及JVM调优

    GC(garbage Collector 垃圾收集器)作用:a.内存的动态分配:b.垃圾回收注:Java所承诺的自动内存管理主要是针对对象内存的回收和对象内存的分配. 一.垃圾标记 程序计数器.Jav ...

  7. sshd服务器搭建管理和防止暴力破解

    1.1 Linux服务前期环境准备,搭建一个RHEL7环境 1.2 sshd服务安装-ssh命令使用方法 1.3 sshd服务配置和管理 1.4 防止SSHD服务暴力破解的几种方式 1.1 Linux ...

  8. Zookeeper Windows版的服务安装和管理工具

    以前研究过负载均衡,最近正在项目上实施(从来没做过小项目以上级别的东西,哈).然后遇到了多个一模一样但是同时运行的服务.不同服务但依赖同相同的配置数据(前端网页服务:Nginx+IIS+nodejs. ...

  9. Nginx Windows版的服务安装和管理工具

    以前研究过负载均衡,最近正在项目上实施(从来没做过小项目以上级别的东西,哈),nginx挺好,不过Windows有点为难,小流量和本地不追求性能,简单易用是目标. Nginx Windows上并没有提 ...

随机推荐

  1. python字符串的操作(去掉空格strip(),切片,查找,连接join(),分割split(),转换首字母大写, 转换字母大小写...)

    #可变变量:list, 字典#不可变变量:元祖,字符串字符串的操作(去掉空格, 切片, 查找, 连接, 分割, 转换首字母大写, 转换字母大小写, 判断是否是数字字母, 成员运算符(in / not ...

  2. @Transactional(rollbackFor=Exception.class)的使用

    转载: java阿里巴巴规范提示:方法[edit]需要在Transactional注解指定rollbackFor或者在方法中显示的rollback. 先来看看异常的分类 error是一定会回滚的 这里 ...

  3. HDU - 2204 Eddy's爱好 (数论+容斥)

    题意:求\(1 - N(1\le N \le 1e18)\)中,能表示成\(M^k(M>0,k>1)\)的数的个数 分析:正整数p可以表示成\(p = m^k = m^{r*k'}\)的形 ...

  4. eclipse中Web Deployment Assembly与build path作用

    java Build path是编译路径设置,主要用来设置源代码的编译路径默认是default output folder Web Deployment Assembly是eclipse中的发布路径设 ...

  5. 【c++ primer, 5e】构造函数 & 拷贝、赋值和析构

    [构造函数] 1.构造器就是创建对象时被调用的代码. 2.如果没有自定义构造器,那么编译器将自动合成一个默认的无参构造器. 3.自定义的构造器不允许加const,所创建const的对象只有在构造器代码 ...

  6. 如何用纯 CSS 创作一个变色旋转动画

    效果预览 在线演示 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/ejZWKL 可交互视频 ...

  7. [Linux 001]——计算机和操作系统的基础知识

    在正式开始学习 Linux 操作系统之前,有必要先回顾/学习一下计算机和操作系统的基本知识,为我们在后续的学习中铺路搭桥,在了解计算机一些基础原理的条件下再去进行学习,理解应该会更透彻一些.我会从一个 ...

  8. 20145307第9周JAVA学习报告

    20145307陈俊达 <Java程序设计>第9周学习总结 教材学习内容总结 JDBC(Java DataBase Connectivity)即java数据库连接,是一种用于执行SQL语句 ...

  9. Kali视频学习1-5

    Kali视频学习1-5 安装 安装Kali虚拟机 设置网络更新,使用了163的源 deb http://mirrors.163.com/debian wheezy main non-free cont ...

  10. Net_Prop 之 CTerrorPlayer 属性

    Sub-Class Table (1 Deep): DT_TerrorPlayer Sub-Class Table (2 Deep): DT_CSPlayer Sub-Class Table (3 D ...