Linux 基础操作(八)————ssh、ssh**及ssh配置
上一节总结了系统服务的控制,这一节将要学习第一个系统服务SSH
Openssh-Server
1、SSH功能
为了让远程主机可以通过网络访问sshd服务,开始一个安全shell
2、环境配置
将两个虚拟机配置到统一网段,设置IP地址,并删除/root/.ssh 目录,同时更该主机名便于识别
3、ssh连接
ssh 远程主机用户 @ 远程主机ip
连接陌生主机时需要建立认证关系,需要输入yes
上面连接的是命令模式,它无法打开图形界面相关的程序
当我们ssh 远程主机用户 @ 远程主机ip -X 时就可以连接图形界面
这里我再客户端打开了gedit,注意gedit的进程是在服务端中,而不是在客户端
如果想再不进入服务端就执行命令,则需要用
ssh 远程主机用户@远程主机ip command 直接在在远程主机运行某条命令
注意这里不能加 -X 否则会一直处在退出图形界面中,同时命令需要用双引号包裹
3、sshkey加密
处于安全的角度来讲使用非对称加密的方式使用ssh会更加安全
1、生成公钥私钥(在服务端执行)
Enter file in which to save the key (/root/.ssh/id_rsa):[enter] ##加密字符保存文件(建议用默认,否则需要修改默认配置)
Enter passphrase (empty for no passphrase): [enter] ##**密码,必须>4个字符
Enter same passphrase again: [enter] ##确认密码
id_rsa ##私钥,就是钥匙
id_rsa.pub ##公钥,就是锁
2.添加key认证方式
当我们生成好钥匙和锁之后,就需要将锁实名值,将它和用户绑定并编译一下
ssh-copy-id ##添加key认证方式的工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
root ##加密用户为root
172.25.0.11 ##被加密主机ip
注意的是每一把锁只能绑定一次,只能给一个用户
3.分发钥匙给client主机
4、修改欢迎界面
5、提升openssh的安全级别
1.openssh-server配置文件 /etc/ssh/sshd_config
78行 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭
当78行为no时,客户端连接服务端就会出现如上情况
48行 PermitRootLogin yes|no ##是否允许超级用户登陆,建议为NO
当48行为no时,客户端连接服务端就会出现如上情况
AllowUsers student ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
这里白名单内只允许student用户
这里白名单只有student,尽管默认root密码正确也会在输入三次之后弹出,而student用户一切正常
DenyUsers westos ##用户黑名单
这里黑名单只有student用户
黑名单拒绝了student用户的访问
白名单和黑名单只能出现一个,白名单更加安全
2.控制ssh客户端访问
vim /etc/hosts.deny
sshd:ALL ##拒绝所有人链接sshd服务
vim /etc/hosts.allow
sshd:172.25.254.250 ##允许250主机链接sshd
sshd:172.25.254.250, 172.25.254.180 ##允许250和180链接
sshd:ALL EXCEPT 172.25.254.200 ##只不允许200链接sshd