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-keygen 		##生成公钥私钥工具
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!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/chaos_oper/article/details/84843606