Linux之sshd服务及服务管理命令
sshd服务
sshd简介
sshd=secure shell,是应用层的安全协议。
SSH是目前较可靠,专为远程登陆会话和其他网络服务提供安全性的协议。
利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
可以通过网络在主机中开机shell的服务
客户端连接方式
客户端软件
sshd
链接方式:
ssh [email protected] ##文本模式的链接
ssh -X [email protected] ##可以在链接成功后开机图形
注意:
第一次链接陌生主机是要建立认证文件
所以会询问是否建立,需要输入yes
再次链接此台主机时,因为已经生成~/.ssh/know_hostos文件所以不需要再次输入yes
sshd的key认证
基于口令的安全认证
第一种级别(基于口令的安全验证),只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
基于**的安全认证
第二种级别(基于密匙的安全验证)需要依靠密匙 先为自己创建一对密匙,并把公匙放在需要访问的服务器上;客户端
软件会向服务器发出请求,请求用你的密匙进行安全验证;服务器收到请求之后,在该服务器目录下寻找公匙,然后把
它和你发送过来的公匙进行比较。若两密匙一致,服务器就用公匙加密“质询”(challenge)并把它发送给客户端软件;客户端软件收到“质询”之后就可以用 私密 解密再把它发送给服务器。
生成**
ssh-****** ##生成**的命令
id_rsa ##私钥,就是钥匙
id_rsa.pub ##公钥,就是锁
它们都在/etc/.ssh/
添加key认证方式
ssh-copy-id ##添加key认证方式的工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
root ##加密用户为root
@172.25.254.1 ##被加密主机ip
分发钥匙
将服务端的/root/.ssh里的id_rsa拷贝一份到客户端的/root/.ssh下
测试
此时,客户端连接服务端不再需要输入密码,直接通过**进入
sshd的安全设定
1.openssh-server配置文件
vim /etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否允许用户通过登陆系统的密码做sshd的认证
48 PermitRootLogin yes|no ##是否允许root用户通过sshd服务的认证
52 Allowusers student westos ##设定用户白名单,白名单出现默认不要名单中的用户不能使用sshd
53 Denyusers westos ##设定用户黑名单,黑名单出现默认不再名单中的用户可以使用sshd
2.控制ssh客户端访问
vim /etc/hosts.deny
vim /etc/hosts.allow
allow的优先级比deny高
添加sshd登陆登陆信息
vim /etc/motd ##文件内容就是登陆后显示的信息
用户登陆的审计
1.w ##查看正在使用当前系统的用户
-f ##查看使用来源
-i ##显示IP
/var/run/utmp
2.last ##查看使用过并退出的系统
/var/log/wtmp
3.lastb ##试图登陆但没成功的用户
/var/log/btmp