sshd服务
一、openssh
当主机中开启openssh服务,就对外开放了远程连接的一个接口
openssh服务的服务端sshd
openssh服务的客户端ssh
二、在客户端连接sshd的方式
ssh 服务端用户@服务端ip地址
例如ssh [email protected] 在客户端用ssh命令连接172.25.254.250主机的root用户
三、搭建客户端和服务端的环境
两台虚拟机(desktop和server)
desktop为客户端ip 172.25.254.150
server为服务端ip 172.25.254.250
- 手动修改ip
nm-connection-editor
- 服务端ip建立如上,ip为 172.25.254.250:
- ifconfig 查看ip
四、建立连接
-
连接方式 :
ssh username@ip 文本模式的链接
注意:在第一次连接陌生主机是要建立认证文件,所以会询问是否建立,需要输入yes,确认建立,然后输入密码就会连接成功。
在次连接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes。
连接成功后如要退出按exit -
远程复制:
格式:scp file root@ip:dir 上传(将客户端桌面的文件复制到服务端桌面)
格式:scp root@ip:file dir . 下载(将服务端桌面的文件复制到客户端的当前位置)“.”表示发送到当前位置。
rm -fr /root/.ssh/ 清除ssh下的内容
例如:(1)ssh -x [email protected] 远程连接ip为172.25.254.250主机
(2)将客户端桌面的westos复制到服务端的桌面
(3)将服务端桌面的westos文件复制到客户端的当前位置
-
sshd 的key认证
(1)ssh-keygen 生成密钥的命令:
(2)保存加密字符的文件用默认:
(3)设定密码使用空密码:
(4)确认密码:
(5)私钥(钥匙):
(6)公钥(锁):
例:输入ssh-keygen后一直回车即可,选取默认方式:
ls -R /root/.ssh/ 查看.ssh下所生成的锁与钥匙
-
加密服务
(1) ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] 加密服务的命令对ip为172.25.254.250主机进行加密(上锁)
(2) ssh-copy-id 加密命令
(3)-i 指定密钥
(4)/root/.ssh/id_rsa.pub 密钥
(5)root 加密用户
(6)authorized_keys 出现代表加密完成
-
分发钥匙
执行: scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
- 测试
在客户主机中(172.25.254.150)
ssh [email protected] 连接时发现直接登陆不需要root登陆系统的密码认证
五、sshd的安全设定
vim /etc/ssh/sshd_config 安全设定
编辑修改结束后执行systemctl restart sshd 重新启动服务
78行 PasswordAuthentication yes|no 开启或关闭ssh的默认认证方式
关闭了ssh默认认证时超级用户也无法连接。
48行 PermitRootLogin yes|no 开启或关闭root用户的登陆权限
52行 Allowusers student 设定用户白名单,白名单出现的不再名单中的用户不能使用sshd
53行 Denyusers westos 设定用户黑名单,黑名单出现的不再名单中的用户可以使用sshd
黑白名单不可以同时存在,做完实验之后都注释掉即可。黑白名单可以在任意地方书写。
-
PasswordAuthentication no不允许用户通过登陆系统的密码做sshd的认证
-
PermitRootLogin yes 允许root用户通过sshd服务的认证
-
Allowusers student westos 设定用户白名单,白名单出现默认不再名单中的用户不能使用sshd(除了westos,student用户外其他用户不能使用sshd)
-
Denyusers westos 设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd(除了westos用户不能使用sshd其他任何用户可以使用sshd)
六、添加sshd登陆登陆信息
- 编辑vim /etc/motd 文件内容就是登陆后显示的信息
编辑 vim /etc/motd
ssh [email protected] 远程连接
七、用户登陆审计
-
w 查看正在使用当前系统的用户 /var/run/utmp w命令的文件
-
w -f 查看使用来源
-
w -i 查看登陆的用户主机的ip
-
last 查看之前登陆并使用的用户信息目前已经退出 /var/log/wtmp last命令的文件
-
lastb 查看试图登陆我的主机的用户信息但是没有成功 /var/log/btmp lastb命令的文件
八、修改主机名称:
- 执行hostnamectl set-hostname desktop.exampele.com命令
修改主机的名称为desktop
修改结束后不会立即呈现需要关闭shell重新开启shell就会生效。
[root@localhost ~]#修改前
[root@desktop ~]# 修改后