sshd服务
首先说一下如何来改变主机的ip地址:打开窗口的命令:nm-connection-editor,此时会打开一个小窗口,删除原来有的那个,再add,选择以太网,改Connection name为eth0,点Device MAC address,选项中的有(eth0)那一项,ipv4 Settings,Method:选Manual,给ADDRESS add,一个一个填入,不要多加,Address:54.111(111,本机id+100),Netmask:24 Getway这一项不用填,但是点击一下,再save就保存好啦;ipconfig,查看是否更改成功 ping 172.25.254.250可以查看网络连通情况。
做这个实验之前我们需要两台ip地址处于同一网段的虚拟机,ip信息如下图:
作为客户端:
作为服务端:
为了更好的区分服务端和客户端呢,我们将ip尾号为111的虚拟机的主机名设置为server,将ip尾号为211的虚拟机主机号设置为client,主机名设置的命令为hostnamectl set-hostname 主机名:
1.sshd简介
sshd=secure shell
可以通过网络在主机中开机shell的服务
客户端软件 sshd
链接方式: ssh username@ip 文本模式的链接
ssh -X username@ip 可以在链接成功后开机图形
准备工作做好了之后呢,我们首先启动ssh服务:
连接远程主机,命令如下:
注意:
第一次链接陌生主机是建立认证文件, 所以会询问是否建立,需要输入yes,再次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes。
当我们被别人连接或者连接别人的时候,如果让连接者看到我们想传递给他们的信息,在此我们我们可添加sshd的登陆信息,编辑motd这个配置文件(注:配置文件一般都在etc/目录下):
编辑内容如下:
我们在客户端连接的时候就可以看到啦。
远程复制:
scp file | dir root@ip:位置 上传 (如果是文档加上-r)
scp root@ip:file | dir 位置 下载
在客户端给服务端上传file文件到其桌面,上传成功后,可以看到服务端的桌面出现file。
在服务端下载客户端桌面上的text目录下载到桌面,下载成功后,可以看到桌面上的目录。
有的时候我只想在服务端主机上执行某一个命令但却并不希望连接上它,那就直接就把命令写在登陆命令后面用单引号引起来,我们一起来看看效果:
file是server桌面上的,执行完命令后我们可以看到,桌面上的file被删除掉了,而客户端并没有登陆服务端。
2.sshd的key认证
(1)生成认证key
这个连接是需要密码的,如果客户端不想用密码登陆,服务端可以发给他一个钥匙,这样客户端在登陆的时候就可以畅通无阻啦。
这时/root/.ssh/这个目录下就出现了两个文件,一个公钥(即锁)和一个私钥。
然后我们需要添加key的认证方法:
ssh-copy-id ##添加key认证方式的工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
root ##加密用户为root
172.25.0.11 ##被加密主机ip
服务端做好了这些之后呢,接下来就是将钥传给客户端
我们可以看到钥匙这个文件在客户端收到了,也可以看到它不需要密码就可以连接上服务端。
3.sshd的安全设定
在服务端编辑此文件,每编辑完成一次需要重启服务。
78 passwordAuthentication yes|no ##是否允许用户通过登陆系统的密码做sshd的认证
允许通过时均 可以登录,当改为no时连接时就会被拒绝。
48 PermitRootLogin yes|no ##是否允许root用户通过sshd服务的认证
当改为no时,root用户不能通过sshd服务。
52 Allowusers student westos ##设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd
由于设置了只有student,和westos可以使用,所以其他的用户均无法使用。
53 Denyusers westos ##设定用户黑名单,黑名单出现默认不在名单中的用户可以使用sshd
4.用户的登陆审计
1.w ##查看正在使用当前系统的用户
-f ##查看使用来源
-i ##显示IP /var/run/utmp
2.last ##查看使用过并退出的用户信息
/var/log/wtmp
3.lastb ##试图登陆但没成功的用户 /var/log/btmp