sshd服务
一、相关知识补充:
我们用虚拟机desktop和server相互之间进行远程连接,
互相访问网络。
在两台虚拟机互相访问连接前须作如下准备:即更改二者IP,让其在同一区域网络下
其图像方式更改IP命令如下:nm-connection-editor (常用)
文本方式更改IP命令如下:nmtui
如我的两个虚拟机:(客户端server)172.25.254.210(client)
(服务端desktop)172.25.254.110(server)
意:其最后一位必须小于255之内的数字,可任意设定但不能相同
只要两者前三位相同即可在同一区域网络下。
更改客户端和服务端shell设置为不同色才能不易出错,
单击shell菜单栏中的editor,选其展开中的profile perference中的color,
将use colors from system theme前的选勾去掉即可
操作如下
openssh-server:
让远程主机可以通过网络访问sshd,开始一个安全shell
二、openssh-server
1.sshd简介
(1)ssh和sshd
ssh: secure shell
可以让远程主机通过网络访问sshd服务,开始一个安全shell,并对其进行操控
sshd:客户端软件,可以通过网络在主机中开启shell的为服务
(2).客户端、服务端环境的搭建
具体过程如下
2.客户端连接方式
(1).ssh 远程主机用户@远程主机ip
Are you sure you want to continue connecting(yes/no)?yes 连接陌生主机时需要建立认证关系
root @127.0.0.201‘password: 远程用户密码
(2).ssh 远程主机用户@远程主机ip -X 调用远程主机图形工具,注意命令中为大写X
ssh 远程主机用户@远程主机ip 命令 直接在远程主机运行某条命令
(2).客户端、服务端环境的搭建
具体过程如下
初始化环境
删掉已有网络,使实验环境变干净
如图,网络已被删除
添加网络,Enternet中的Device MAC address(设备网卡地址)选本机默认
选择Manual(手动动态网络)
连接方式:
ssh username@ip ,文本模式的链接
ssh -X username@ip ,可以在链接成功后开机图形##文本模式的链接,进去后无法打开图形(ssh本身不能开启图形)
ssh -X username@ip ##可以在链接成功后开机图形 或为 ssh username@ip -X
##客户端可将服务端的中桌面的file用图形打开(即gedit file)
cd /root/Desktop/file 后gedit 后跟相对路径,否则跟绝对路径
在服务端打开进程管理gnome-system-monitor,在system monitor
的Processes中有gedit的进程
###gedit是gnome的程序,需要图形界面的支持
注意:
第一次链接陌生主机是要建立认证文件
所以会询问是否建立,需要树入yes
在次链接此台主机时,因为已经生成~/.ssh/know_hosts文件所以不需要再次输入yes
远程复制:
scp file root@ip:dir ,上传
实验结果验证,客户端桌面上有huige 即证明客户端上传文件成功
scp root@ip:file dir ,下载
三、sshkey加密
2.sshd 的key认证
1.生成公钥和私钥 注:在生成公钥私钥之前要运行命令 rm -rf
[root@server ~]# ssh-keygen , 生成密钥的命令
Generating public/private rsa key pair.The key fingerprint is:
86:61:e4:f1:6e:51:3a:4b:d7:3c:1b:2f:e8:3f:b0:5d [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
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". ,公钥(锁)
2.加密服务
[root@server .ssh]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.110 ,加密sshd服务
The authenticity of host '172.25.254.110 (172.25.254.110)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
[root@server .ssh] ls
authorized_keys id_rsa id_rsa.pub known_hosts
^
此文件出现表示加密完成
[root@server .ssh] ls
authorized_keys id_rsa id_rsa.pub known_hosts
^
此文件出现表示加密完成
2.添加key认证方式
注:想要连接一台主机,除了需要密码,钥匙也可以。
当不能通过密码连接时(可以通过更改配置文件 /etc/ssh/sshd_config 禁止密码连接,下面会详述),仅仅通过钥匙也可以连接
如下即为通过钥匙连接的方法:
[root@server0 ~]#ssh-copy-id 添加key认证方式的工具
-i 指定加密key文件
/root/.ssh/id_rsa.pub 加密key
root 加密用户为root
3.分发钥匙给client主机
[root@server0 ~]# scp id_rsa [email protected]:/root/.ssh/
4.ssh服务的简单配置
vim /etc/ssh/sshd_config sshd服务的配置文件(编辑此文件后记得要重启一下systemctl restart sshd.service)
48 PermitRootLogin yes|no 是否允许root用户通过sshd的认证
78 PasswordAuthentication yes|no 开启或关闭用户密码认证
AllowUsers student westos 用户白名单,只允许在名单中出现的用户使用sshd服务
systemctl reload sshd 从新加载配置
更改之后需重新启动sshd服务:systemctl restart sshd.service
把
白名单
实验结果
用户student和tom可以登陆
用户hello,输入密码也无法登录
2.控制ssh客户端访问
vim /etc/hosts.deny
sshd:ALL 拒绝所有人链接sshd服务
vim /etc/hosts.allow
3.ssh登陆提示修改该
1)vim /etc/motd 显示登陆后字符
实验结果如图所示
5.用户的登陆审计
1.w 查看正在使用当前系统的用户
-f 查看使用来源
-i 显示IP
2.last 查看使用过并退出的用户信息
/var/log/wtmp
3.lastb 试图登陆但没成功的用户
/var/log/btmp