一、sshd简介
SSH 为 Secure Shell 的缩写,为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Telnet,具有更高的安全性。
1. 连接方式:
ssh username@ip ##文本模式连接
在文本模式下无法打开图形界面
ssh -X username@ip ##图形方式连接
注:第一次连接陌生主机是需要建立认证文件,输入yes,再次连接时,因为已经生成了~/.ssh/know_hosts文件所有不需要再次输入
第一次连接后会生成 know_hosts文件(在主动连接的一方电脑上生成)
2. 远程复制:
scp file username@ip:dir ##上传(dir为绝对路径)
将桌面上的法ile文件上传到另一台虚拟机root用户下的桌面,且地址要写成绝对路径,才能上传成功
在另一台电脑上的相应位置就能找到法ile文件
scp username@ip:/file dir ##下载
二、sshd的key认证
通过sshd的key认证后,下次ssh连接时,就无需再输入密码
在/root/.ssh目录下
1.生成认证key
ssh-keygen
在/root/.ssh 目录下 生成了 id_rsa.pub文件
2.加密服务
ssh-copy-id -i id_rsa.pub [email protected]
3.分发钥匙
scp id_rsa [email protected]:/root/.ssh
将id_rsa文件发送至另一台虚拟机
4.测试
在客户主机中(172.25.254.200)
ssh [email protected]
连接时发现不需要密码
三、sshd的安全设定
对/etc/ssh/sshd_config文件进行编辑:vim /etc/ssh/sshd_config
1. 其中,78行中 PasswordAuthentication yes 代表允许用户通过登陆系统的密码作sshd认证,若为no表示不允许其他用户通过密码登陆,即无法登陆
2. 48行,PermitRootLogin no 代表不允许root用户通过sshd服务的认证,即无法连接到root用户,若为yes表示可以连接到root用户
3. 设定用户白名单,白名单中没有的用户默认不能使用sshd
设置格式为:
4. 设定用户黑名单,黑名单中没用的用户默认可以使用sshd
设置格式为:
四、添加sshd登录信息
vim /etc/motd ##文件的内容就是登录后显示的信息
在该文件下编辑相应的内容,登陆后就会显示
五、用户的登录审计
1.w
-f ##查看使用来源
-i ##显示ip
2.last ##查看使用过并退出的用户信息
3.lastb ##试图登录但没有成功的用户