ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux openssh

2020-02-04 21:01:44  阅读:347  来源: 互联网

标签:sshd 公钥 ip 虚拟机 linux ssh openssh


目录

openssh的介绍

1.首先介绍一下ssh(secure shell protocol),ssh服务是一个守护进程,系统后台监听客户端的连接。ssh服务端的进程名叫sshd,负责实时监听客户端的请求,包括公共密钥交换等信息。ssh服务端由两部分组成:openssh(提供ssh服务)和 openssl(提供加密服务)。
2.openssh是ssh服务端软件之一
软件安装名称:Openssh-server
配置文件:/etc/ssh/sshd_conf
默认端口:22
客户端命令:ssh

ssh命令的用法

与ssh服务相关的指令:

1.rpm -qa openssh/openssl       #查询openssh、openssl软件
2.ps -ef | grep sshd			#查询sshd进程
3.netstat -a | grep sshd		#查看ssh端口(-a 显示所有的socket)
4.service sshd start    		#开启ssh服务
5.service sshd stop				#关闭ssh服务
6.service sshd reload			#停止sshd进程后重启(推荐)
  service sshd restart			#杀死sshd进程后重启(不推荐)
7.远程登录 见下

使用 ssh remoteUSER@remoteIP 指令(对方的用户名和ip),参数如下:

1.ssh-l							#指定登录用户
2.ssh-i							#指定密钥
3.ssh-x							#开启图形
4.ssh-p							#指定端口
5.ssh-f							#后台运行
6.ssh-o							#指定连接参数
7.ssh-t							#指定连接跳板

对于指令1:
1.首先配置两台虚拟机的ip地址
(1)查看虚拟机的网关,子网ip等信息
在这里插入图片描述
(2)配置虚拟机1的ip地址
在这里插入图片描述
根据前面查看的虚拟机网关等信息,配置打勾的这四项。
注意:
BOOTPROTO=static 静态ip
BOOTPROTO=dhcp 动态ip
在这里插入图片描述
配置完成后,别忘记reboot。
在这里插入图片描述
查看虚拟机1的ip地址是否配置成功。可以使用 ipconfig 指令,也可以使用 ip addr show 指令。
在这里插入图片描述
注意: 配置虚拟机的ip地址时,既可以采用上述的命令行配置的方法,也可以使用 nm-connection-editor 指令打开图形化界面进行配置。
在这里插入图片描述
在这里插入图片描述
(3)以同样的步骤配置虚拟机2
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.使用虚拟机1连接虚拟机2
使用westos身份连接上之后,在虚拟机2的Desktop中新建三个file文件。
在这里插入图片描述
在这里插入图片描述
对指令3的演示:
虚拟机1连接虚拟机2
在这里插入图片描述
虚拟机2开启gedit
在这里插入图片描述
关闭虚拟机2的gedit发现,虚拟机1只是远程开启了虚拟机2的图形程序gedit,而没有连接上虚拟机2。
在这里插入图片描述
对指令6的演示:
虚拟机1连接虚拟机2
在这里插入图片描述
虚拟机2开启gedit
在这里插入图片描述
在虚拟机2中关闭gedit,发现虚拟机1只是开启了虚拟机2中的gedit而已。
在这里插入图片描述
另外:去掉公钥确认
在这里插入图片描述
对指令7的演示:
使用ip地址为192.168.145.4的主机作为跳板,连接ip地址为192.168.145.5的主机。
在这里插入图片描述

openssh的key认证

认证方式有两种:
1.密码认证
(1)至少6个字符
(2)包含数字、字母、下划线特殊符号等
(3)易泄露
(4)可被暴力破解
(5)密码容易丢失
2.密钥认证
(1)新型认证方式,分为公钥及私钥
(2)公钥上传服务器
(3)私钥配对认证,不会被盗用
(4)攻击者一般无法通过密钥登录服务器
关于openssh的文件
1.~/.ssh/authorized_keys:用于保存用户的公钥文件
2.~/.ssh/known_hosts:辨别服务器的唯一散列码
3.~/.ssh/id_rsa:用户的私钥文件
4.~/.ssh/id_rsa.pub:用户的公钥文件
openssh的key认证
1.支持RSA和DSA加密
2.加密方法:
使用 ssh-keygen 指令生成密钥
使用 ssh-copy-id -i keyfile remoteUSER@remoteIP 指令上传密钥
openssh key认证实验
1.在虚拟机1中生成密钥对
在这里插入图片描述
在这里插入图片描述
2.将虚拟机1的公钥拷贝到虚拟机2

在这里插入图片描述
我们可以在虚拟机2中查看一下虚拟机1传过来的公钥文件
在这里插入图片描述
现在测试一下虚拟机1是否能免密登录到虚拟机2
在这里插入图片描述
成功实现免密登录!
补充: 将公钥从虚拟机1传到虚拟机2的时候,还可以使用 scp 指令。
在这里插入图片描述
查看虚拟机2中公钥
在这里插入图片描述

openssh的安全优化

sshd服务常用相关配置参数
1.配置文件:/etc/ssh/sshd_config
2.配置参数
(1)Port 22:监听端口
(2)Protocal 2:指定协议版本
(3)ListenAddress:绑定ip
(4)HostKey:设定HostKey密钥路径
(5)PermitRootLogin:设定超级用户是否能登录
(6)PubkeyAuthentication:公钥认证开关
(7)PasswordAuthentication:密码认证开关
(8)AllowUsers:用户白名单
(9)DenyUsers:用户黑名单
sshd配置实验
1.修改PasswordAuthentication选项
(1)编辑虚拟机2的/etc/ssh/sshd_config文件,注意使用root身份,否则会报错。
在这里插入图片描述
(2)将PasswordAuthentication由yes改为no。
在这里插入图片描述
(3)重启一下虚拟机2的sshd服务。
在这里插入图片描述
(4)用虚拟机1连接虚拟机2发现,即使知道密码也不允许登录,虚拟机2直接拒绝。
在这里插入图片描述
2.修改PubkeyAuthentication选项
(1)编辑虚拟机2的/etc/ssh/sshd_config文件,同样使用root身份。
在这里插入图片描述
(2)将PubkeyAuthentication由yes改为no。
在这里插入图片描述
(3)重启虚拟机2的sshd服务。
在这里插入图片描述
(4)在虚拟机1中生成密钥并传送到虚拟机2中。
在这里插入图片描述
在这里插入图片描述
(5)发现即使虚拟机2有虚拟机1的公钥,虚拟机1连接虚拟机2时仍然需要输入虚拟机2的密码。
在这里插入图片描述
3.修改DenyUsers选项
(1)在虚拟机2中新建用户student。
在这里插入图片描述
(2)添加虚拟机2中/etc/ssh/sshd_config文件中的DenyUsers选项。
在这里插入图片描述
(3)重启虚拟机2的sshd服务。
在这里插入图片描述
(4)在虚拟机1中使用虚拟机2的student身份连接虚拟机2,发现被拒绝。
在这里插入图片描述
4.修改AllowUsers选项
(1)再在虚拟机2中新建一个用户lyueyue。
在这里插入图片描述
(2)添加虚拟机2中/etc/ssh/sshd_config文件中的AllowUsers选项,并把上述实验3中添加的DenyUsers删除。
在这里插入图片描述
(3)重启虚拟机2中的sshd服务。
在这里插入图片描述
(4)在虚拟机1中分别使用虚拟机2的student身份和lyueyue身份连接虚拟机2,发现使用student身份可以登录。
在这里插入图片描述
而lyueyue身份无法登录。
在这里插入图片描述

L*YUEYUE 发布了25 篇原创文章 · 获赞 1 · 访问量 995 私信 关注

标签:sshd,公钥,ip,虚拟机,linux,ssh,openssh
来源: https://blog.csdn.net/weixin_41708548/article/details/104154055

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有