linux下sshd服务
一.ssh简介
sshd=secure shell,是应用层的安全协议。ssh专为远程登录会话和其他网络服务提供安全>性的协议,利用shh协议可以有效防止远程管理过程中的信息泄露问题。
可以通过网络在主机中开启shell服务
客户端软件
sshd
连接方式:
ssh [email protected] ##文本模式的链接
ssh -X [email protected] ##可以在链接成功后开启图形界面
注意:
第一次链接陌生主机是要建立认证文件
所以询问是否建立连接,输入yes
再次连接此台主机时,因为已经生成~/.ssh/know_host文件所以不需要再次输入Yes实验:server连接desktop 并且建立file
远程复制:
scp file [email protected]:dir ###上传
scp [email protected]:file dir ###下载
二.sshd的key认证
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. ##公钥(锁)
2.加密服务加密
[[email protected] .ssh]# ssh-copy-id -i id_rsa.pub [email protected] ##加密sshd服ls
authorized_keys id_rsa id_rsa.pub known_hosts
此文件出现表示加密成功
3.分发钥匙
scp id_rsa [email protected]:/root/.ssh/
4.测试
客户机ip(172.25.254.12)
ssh [email protected] ##连接时不需要密码直接登录root
实验:
客户端ip:172.25.254.12,服务端ip:172.25.254.21,要求客户端免密root登录服务端
三.sshd的安全设定
78 PasswordAuthentication yes|no 是否允许用户通过登录系统的密码做sshd的认证
48 PermitRootLogin yes|no 是否允许root用户通过sshd服务的认证
52 Allowusers student 设定用户白名单,白名单出现默认不在名单中的用户不能使用sshd
53 Denyusers student 设定用户黑名单,不在名单的用户可以使用ssh
实验:
不允许用户通过密码做sshd验证
允许root用户通过sshd服务的认证
白名单设置只允许student用户登录禁止root
设定用户黑名单