一、环境配置

1、关闭防火墙,selinux

SSH服务_配置文件

SSH服务_配置文件_02

2、配置IP

SSH服务_服务端_03

SSH服务_服务端_04

3、配置主机和IP映射关系

SSH服务_服务端_05

SSH服务_配置文件_06

4、配置yum源

1.配置本地yum源

SSH服务_服务端_07

2.安装epel源

SSH服务_客户端_08

二、sshd服务安装,使用

1、SSHD服务

      作用:sshd服务使用ssh协议可以用来进行远程控制,或在计算机之间传送文件。比Telnet方式传输文件安全很多,因为Telnet使用明文传输,ssh是加密传输

通过yum安装

SSH服务_服务端_09

SSH服务_服务端_10

2、查看安装产生的文件

SSH服务_客户端_11

3、OpenSSH配置文件

      OpenSSH常用配置文件有两个/etc/ssh/ssh_config和/etc/ssh/sshd_config

      ssh_config为客户端配置文件,设置与客户端相关的应用可通过此文件实现

      sshd_config为服务器端配置文件,设置与服务端相关的应用可通过此文件实现

   查看是否开机启动:

SSH服务_配置文件_12

4、使用ssh来远程连接主机

ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port

SSH服务_客户端_13

###-l : 指定登录用户,加-l可以不加@

-p : 指定登录端口(当服务端的端口不是默认端口时,需要使用-p指定端口进行登录)

5、scp命令

scp可以实现远程主机之间的文件复制,scp使用ssh协议

命令格式:scp user@host1: file1 user@host2: file2


                scp file  user@host1:/路径

常用选项:-r : 复制目录时使用

                -P : 大写的P指定端口

6、配置文件

1./etc/ssh/sshd_config配置文件内容

SSH服务_服务端_14

      ssh默认使用22这个port,也可以使用多个port,即重复使用port这个设定,例如想要开放sshd端口为22和222,则多加一行内容为:Port 222即可,然后重启sshd就可以了,建议修改port number为其他端口,以防别人暴力破解

ListenAddress 0.0.0.0

设置sshd服务器绑定的IP地址,0.0.0.0表示监听所有地址,这个值可以写成本地IP地址,也可以写成所有地址

服务的配置文件修改之前最好copy一份

SSH服务_服务端_15

安全调优重点:

1.LoginGraceTime 2m

SSH服务_配置文件_16

grace意思是系统给多少秒来进行登录,当使用者连上ssh server之后,会出现呢输入密码的画面,在该画面中,在多久时间内没有成功连上ssh server 就强制断线,若没有单位设置,默认为秒

2.PermitRootLogin yes

SSH服务_服务端_17

是否允许root登入,默认是允许的,但是建议设定成no,真实生产环境服务器,是不允许root账号直接登录的,仅允许普通用户登录,需要用到root用户在切换

3.PasswordAuthentication yes

SSH服务_服务端_18

密码验证,yes(允许密码和密钥验证),no(只允许密钥验证不允许密码验证)

4.PermitEmptyPasswords no

SSH服务_服务端_19

是否允许空密码的用户登录,默认为no,不允许空密码登录

5.PrintLastLog yes

SSH服务_客户端_20

显示上次登入的信息

6.添加警告信息:/etc/motd

SSH服务_配置文件_21

SSH服务_服务端_22

警告信息会在上面显示出来

7.UseDNS yes

一般来说,为了要判断客户端来源是否正常合法,因此会用DNS去反查客户端的主机名,但通常内网互连是设置为no

三、配置安全的sshd服务

1、通过密钥认证实现sshd认证

实验环境:

服务端:77   IP:192.168.246.77

客户端:97   IP:192.168.246.97

客户端生成密钥对,然后把公钥传输到服务端,使用命令传输密钥的时候需要输入服务端的密码

id_rsa:私钥

id_rsa.pub:公钥

SSH服务_配置文件_23

在服务端可以看到传输过来的密钥authorized_keys,然后使用客户端可以直接连接到服务端

SSH服务_配置文件_24

SSH服务_配置文件_25

ssh-keygen常用参数:

-t

指定要创建的密钥类型(dsa | ecdsa | ed25519 | rsa | rsa1)

-i

读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥

-f

指定用来保存密钥的文件名

-b

指定密钥长度

注:如果服务器不是监听22端口,则需要-p指定端口传输密钥

[root@97 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub -p 222 root@192.168.246.77