1.sshd简介
sshd=secure shell
可以通过网络在主机中开启shell服务
客户端软件:sshd
链接方式:
ssh username@ip #文本模式的连接
ssh -X username@ip #可以在连接成功后打开图形
- 第一次陌生连接主机时要建立认证文件,所以会咨询是否建立连接,需要输入yes
- 再次连接此主机时,因为已经生成 ~/.ssh/know_hosts文件,所以不与要再次输入yes
远程复制:
scp file root@ip:dir #上传
scp root@ip:file dir #下载
2.sshd认证
(1)系统设置
后面实验以这两个为例:
client:172.25.60.1
server:172.25.60.2
- 更改主机名称;
hostnamectl set-hostname client.westos.com
重启shell才能看到更改现象 - 设置静态ip:
先删除原有的,再设置添加新的nm-connection-editor
(2)sshd安全认证
-
服务端生成密码: ssh-keygen
设置密码时:第一次是私钥位置;第二次开锁密码;第三次是确认密码。(直接回车就可以了)
生成时会显示私钥和公钥的位置,分别为第6行的/root/.ssh/id_rsa和第7 行的/root/.ssh/id_rsa.pub -
加密服务端:
ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.60.2
- 私钥发送给客户端,客户端检查私钥是否收到
scp /root/.ssh/id_rsa root@172.25.60.1:/root/.ssh/
ls -a /root/.ssh/
-
连接服务器端
ssh root@172.25.60.2
此时建立连接 -
注:
sshd: 服务器配置文件
ssd:命令,注意区别)
3.sshd的安全设定
(1)是否允许用户通过使用系统登陆密码做sshd认证登陆
vim /etc/ssh/sshd_config
78行: PasswordAuthentication yes
no (注释此行与no含义相同)
- yes:客户端可以使用服务器端登陆密码登陆
- no:客户端使用服务器端登陆密码登陆时,被拒绝登陆
(2)是否允许用户通过使用sshd认证服务登陆root用户—48行限制用户登陆root
vim /etc/ssh/sshd_config
48行: PermitRootLogin yes
no
- 用root用户登陆时,尽管密码正确,但依旧无法登录(三次输密码的机会)
黑名单,白名单—> 自己建立
(3)黑名单:默认在名单中的用户不可以使用sshd认证,没在的才可以使
vim /etc/ssh/sshd_config
Denyusers student //student用户不可以使用sshd认证,其他用户可以
48行后(写在限制登陆root下面,利于维护)
(4)白名单:默认在名单中的用户才可以使用sshd认证
vim /etc/ssh/sshd_config
Allowusers student tom //只有student,tom用户才可以使用sshd认证
48行后(写在限制登陆root下面,利于维护)
- 注意:每次设定之后必须重启服务!!!否则不会生效
4.添加sshd登陆显示信息
vim /etc/motd //在这个文件里写什么,sshd服务登陆就显示什么
- 用途:可以指明你所登陆的用户信息
5.用户的登陆审计
(1)w //查看正在使用当前系统的用户
-f //查看使用来源
-i //显示ip
- 文件位置:/var/run/utmp
(2)last //查看使用过并退出的用户信息
- 文件位置:/var/log/wtmp
(3)lastb //试图登陆但没有成功的用户
- 文件位置:/var/log/btmp