一、虚拟机环境设定:

本次与ssh服务有关的内容均在两台虚拟机中完成

设置客户端desktop虚拟机名称为client,ip地址为172.25.254.115

设置服务端server虚拟机名称为server,ip地址为172.25.254.215

具体设置方法如下:

1.配置网络:

nm-connection-editor

LInux系统中的ssh服务
删除旧的,新建网络

LInux系统中的ssh服务

LInux系统中的ssh服务

Ethernet中Connection name填写为eth0,Device MAC address选xxxxxx(eth0)

LInux系统中的ssh服务

IPv4 Settings中选Method为Manual, 点add,依次填写172.25.254.115/215 24 空 save close

LInux系统中的ssh服务

2.更改虚拟机名称:

hostnamectl set-hostname client/server.example.com

LInux系统中的ssh服务

LInux系统中的ssh服务

3.删除两台虚拟机中原/root/.ssh/中保存的文件

rm -fr /root/.ssh/*

LInux系统中的ssh服务

二、ssh简介

ssh= secure shell,是应用层的安全协议

可以通过网络在主机中开启shell的服务

客户端软件:sshd

1、连接方式:

     ssh    [email protected]     ##文本模式的连接

LInux系统中的ssh服务

    ssh -X [email protected]      ##可以在连接成功后开启图形

LInux系统中的ssh服务

    注意:

        第一次连接陌生主机时要建立认证文件, 所以会询问是否建立,需要输入yes

        再次连接此台主机时,因为已经生成~/.ssh/know_hosts文件,所以不需要再次输入yes 

2、远程复制:

1)scp file [email protected]:dir        ##远程上传

    scp file [email protected]:/root/Desktop/       ##远程上传文件

LInux系统中的ssh服务

LInux系统中的ssh服务

    scp -r test [email protected]:/root/Desktop/     ##远程上传文件夹

LInux系统中的ssh服务

LInux系统中的ssh服务

2)scp [email protected]:file dir        ##远程下载

    scp [email protected]:/root/Desktop/file .       ##远程下载文件

LInux系统中的ssh服务
    scp -r [email protected]:/root/Desktop/test/ .    ##远程下载文件夹

LInux系统中的ssh服务

三、sshd的key认证

1.生成认证KEY

[[email protected] ~]# ssh-******              ##生成**的命令

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):           ##指定保存加密字符的文件(使用默认)

Enter passphrase (empty for no passphrase):                       ##设定密码(使用空密码)

Enter same passphrase again:                                                   ##确认密码

Your identification has been saved in /root/.ssh/id_rsa.       ##私钥(钥匙)

Your public key has been saved in /root/.ssh/id_rsa.pub.    ##公钥(锁)
LInux系统中的ssh服务

2.加密服务

[[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

[[email protected] ~]# ls /root/.ssh/

authorized_keys  id_rsa  id_rsa.pub  known_hosts

              ^

注意:此文件出现表示加密完成

LInux系统中的ssh服务

3.分发钥匙

scp /root/.ssh/id_rsa [email protected]:/root/.ssh/

LInux系统中的ssh服务
4.测试

在客户端主机中(虚拟机client,ip172.25.254.115)

ssh [email protected]     ##连接时发现直接登陆不需要root登录系统密码认证

LInux系统中的ssh服务

四、sshd的安全设定

vim /etc/ssh/sshd_config

LInux系统中的ssh服务

78 PasswordAuthentication yes|no       ##是否允许用户通过登录系统的密码做sshd的认证

LInux系统中的ssh服务
48 PermitRootLogin yes|no                     ##是否允许root用户通过sshd服务的认证

LInux系统中的ssh服务
52 AllowUsers student westos               ##设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd

LInux系统中的ssh服务
53 DenyUsers    westos                            ##设定用户黑名单,黑名单出现默认不在名单中的用户可以使用sshd

LInux系统中的ssh服务

systemctl restart sshd.service

LInux系统中的ssh服务

注意:配置完sshd_config文件后需要重启sshd服务

五、连接不上服务端主机时的排错思路:

1.网通是否通畅

LInux系统中的ssh服务

2.sshd服务是否开启

LInux系统中的ssh服务

3.是否被添加到黑名单

LInux系统中的ssh服务

注意:配置完sshd_config文件后需要重启sshd服务

4.是否设置只允许xxip访问

vim /etc/hosts.allow      ##白名单

vim /etc/hosts.deny      ##黑名单

LInux系统中的ssh服务

六、添加sshd登陆信息

vim /etc/motd        ##文件内容就是登陆后显示的信息

LInux系统中的ssh服务

LInux系统中的ssh服务

LInux系统中的ssh服务

七、用户的登陆审计

1.w          ##查看正在使用当前系统的用户(信息存放在/var/run/utmp文件中)

LInux系统中的ssh服务

 w -f      ##查看使用来源

LInux系统中的ssh服务

w -i         ##显示IP

LInux系统中的ssh服务

2.last        ##查看使用过并退出的用户信息(信息存放在/var/log/wtmp文件中)

LInux系统中的ssh服务

3.lastb        ##查看试图登陆但没成功的用户(信息存放在/var/log/btmp文件中)

LInux系统中的ssh服务

相关文章: