Linux系统-openssh-server
一.openssh-server
功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell
二.客户端连接方式
ssh 远程主机用户@远程主机ip
ssh [email protected]
可以在server虚拟机桌面下touch file,发现可以建立。但是gedit file2时发现报错。
ssh 远程主机用户@远程主机ip -X ##调用远程主机图形工具
ssh [email protected]
ssh 远程主机用户@远程主机ip command ##直接在远程主机运行某条命令
ssh [email protected] date
三.sshkey加密
1.生成公钥私钥
ssh-****** ##生成公钥私钥工具
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[enter] ##加密字符保存文件(建议用默认)
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): [enter] ##**密码,必须>4个字符
Enter same passphrase again: [enter] ##确认密码
ls /root/.ssh/
id_rsa id_rsa.pub
id_rsa ##私钥,就是钥匙
id_rsa.pub ##公钥,就是锁
2.添加key认证方式
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
ssh-copy-id ##添加key认证方式的工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
root ##加密用户为root
172.25.25.117 ##被加密主机ip
3.分发钥匙给client主机
scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
4.测试
ssh [email protected] ##通过id_rsa直接连接不需要输入用户密码
四.提升openssh的安全级别
1.openssh-server配置文件
/etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭
48 PermitRootLogin yes|no ##是否允许超级用户登陆
49 AllowUsers student westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
50 DenyUsers westos ##用户黑名单
练习:
在server虚拟机上 vim /etc/ssh/sshd_config
78 PasswordAuthentication no ##关闭用户密码认证
systemctl restart sshd.service ##重启sshd服务
在Desktop虚拟机上以student身份(因为student身份是无钥匙的)
su - student
ssh [email protected] 会显示Permission denied,因为Desktop虚拟机上student身份无钥匙,并且server虚拟机关闭了用户密码认证。
在server虚拟机上 vim /etc/ssh/sshd_config
48 PermitRootLogin no ##不允许超级用户登陆
78 PasswordAuthentication yes ##开启用户密码认证
systemctl restart sshd.service ##重启sshd服务
在Desktop虚拟机上以student身份(因为student身份是无钥匙的)
su - student
ssh [email protected] 会让你输root密码
然后会显示Permission denied,因为不允许server虚拟机的用户以超户的身份登陆Desktop虚拟机
在server虚拟机上 vim /etc/ssh/sshd_config
78 PasswordAuthentication no ##关闭用户密码认证
48 PermitRootLogin no ##不允许超级用户登陆
如果既不允许超级用户登陆又关闭用户密码认证,不会让你输入密码,直接显示Permission denied,看不出效果。
2.控制ssh客户端访问
vim /etc/hosts.deny
sshd:ALL ##拒绝所有人链接sshd服务
客户端访问时无法链接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
3.ssh登陆提示修改该
vim /etc/motd ##显示登陆后字符
hello linux! ##在登陆后就会显示这个字符
客户端登陆时显示hello linux!