sshd服务及文件传输
####什么是sshd服务#####
SSH 为 Secure Shell 的缩写 , 是应用层的安全协议。 SSH是目前较可靠 , 专为远程登录会话和其他网络服务提供安全性的
协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题
设置主机名称(有效区别不同主机,方便实验)
hostnamectl set-hostname
hostnamectl set-hostname client.example.com
hostnamectl set-hostname server.example.com
、
设置完成后,exit退出后重新登陆,方能生效
######1. 基于口令的安全验证 ########
只要你知道自己帐号和口令 , 就可以登录到远程主机。但会出“中间人”攻击
[[email protected] ~]$ ssh [email protected]
[[email protected] ~]$ ssh [email protected]
#######2. 基于密匙的安全验证 ########
你必须为自己创建一对密匙 , 把公匙放在需要访问的服务器上。
如果你要连接到 SSH 服务器上 , 客户端软件就会向服务器发出
请求 , 请求用你的密匙进行安全验证。服务器收到请求之后 , 先
在该服务器上你的主目录下寻找你的公匙 , 然后把它和你发送过
来的公匙进行比较。如果两个密匙一致 , 服务器就用公用密匙加
密“质询” (challenge) 并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服
务器
1.生成认证KEY
[[email protected] .ssh]# 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. 公钥(锁)
The key fingerprint is:
a5:3c:bf:8e:20:ad:f3:47:e5:e0:72:77:45:f3:26:44 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| .E |
| + |
| . o o |
| ..o. o o|
| .S+ . o |
| .. +oo . |
| . o+ ... |
| .o ... . |
| .o....o |
+-----------------+
2.将172.25.254.166用户上锁
[[email protected] .ssh]# ssh-copy-id -i id_rsa.pub [email protected]
[[email protected] .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
authorized_keys:此文件出现表示加密完成
3.分发钥匙
[[email protected] .ssh]# scp /root/.ssh/id_rsa [email protected]:/root/.ssh
[[email protected] .ssh]# ls
id_rsa
4.测试
在客户主机中(172.25.254.68)
ssh [email protected] 连接时发现直接登陆不需密码认证
1.在没有设置基于密匙的安全验证, clent端通过ssh服务登陆server端需要密码
2.在服务端生成公钥和私钥,并且把钥匙通过scp发送给客户端
.
3.在client端的/root/.ssh文件中收到钥匙,可进行无密码认证
#####3.sshd的安全设定######
1.编辑/etc/ssh/sshd_conf:
78 PasswordAuthentication yes|no 是否允许用户通过登录系统的密码作ssh认证
48 PermitRootLogin yes|no 是否允许root用户通过sshd服务的认证
52 Allowusers student westos 设定白名单
53 Denyusers westos 设定黑名单
注意:每次编辑完配置文件后,都需重新加载
systemctl restart sshd
例:当在server端设置白名单后,只有student用户可以登陆
1.
例二:
2.在/etc/hosts.allow中添加:
sshd:X.X.X.X
3.在/etc/hosts.deny中添加:
sshd:ALL
####添加sshd登陆信息####
vim /etc/motd 文件内容就是登陆后显示的信息
####用户的登陆审计####
1.w 查看正在使用当前系统的用户
-f:查看使用来源
-i:显示ip
/var/log/utmp
2.last 查看使用过并退出的用户信息
/var/log/wtmp
3.lastb 试图登陆但没成功的用户
/var/log/btmp
####文件在系统中的传输
1.scp
scp file [email protected]: /dir 上传
scp [email protected]: /file dir 下载
2.rsync 远程同步,速度快,默认会忽略
-r:同步目录
-p:同步权限
-o:同步文件所有人
-g:同步文件所有组
-l:同步链接
-D:同步设备文件
-t:同步文件时间戳
例:将client主机的文件同步到server主机中
上传端
3.tar 归档文件(把很多个文件变为一个文件)
-c:创建
-v:显示过程
-f:指定归档文件名称
-t:查看归档文件内容
-r:添加文件到归档中
--get:解档指定文件
--delete:删除归档中的指定文件
-C:制定解档目录
4.压缩
zip(不能归档和压缩一块执行)
压缩: zip -r xxx.tar.zip xxx.tar
解压: unzip xxx.tar.zip
gz
压缩:gzip xxx.tar
解压:gunzip xxx.tar.gz
归档压缩:
tar zcf xxx.tar.gz /xxx
tar zxf xxx.tar.gz
bz2
压缩:bzip2 xxx.tar
解压:bunzip2 xxx.tar.bz2
归档压缩:
tar jcf xxx.tar.bz2 /xxx
tar jxf xxx.tar.bz2
xz
压缩:xz xxx.tar
解压:unxz xxx.tar.xz
归档压缩:
tar Jcf xxx.tar.xz /xxx
tar Jxf xxx.tar.xz