一、环境配置
1、关闭防火墙,selinux


2、配置IP


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


4、配置yum源
1.配置本地yum源

2.安装epel源

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


2、查看安装产生的文件

3、OpenSSH配置文件
OpenSSH常用配置文件有两个/etc/ssh/ssh_config和/etc/ssh/sshd_config
ssh_config为客户端配置文件,设置与客户端相关的应用可通过此文件实现
sshd_config为服务器端配置文件,设置与服务端相关的应用可通过此文件实现
查看是否开机启动:

4、使用ssh来远程连接主机
ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port

###-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默认使用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一份

安全调优重点:
1.LoginGraceTime 2m

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

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

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

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

显示上次登入的信息
6.添加警告信息:/etc/motd


警告信息会在上面显示出来
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:公钥

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


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
















