ssh配置方面小实验①
注意:sshd_config配置文件有些特殊:
注释掉的选项,并不是不生效的,而是默认生效选项。
使用某选项时,要先取消注释,再修改为yes或no
关于效率和安全的说明:
安全:telnet < ssh单向 < ssh双向加密
效率:telnet > ssh单向 > ssh双向加密
要安全,丢效率
1.环境准备
①准备好两台Linux操作系统的主机,配置好相关网络参数,实现可以正常通信,并将主机名修改为不同的名字
⑴临时关闭防护功能:
iptables -F ;setenforce 0 #清空防火墙规则,临时关闭SELinux
⑵永久关闭防护功能:
chkconfig iptables off #设置防火墙开机不自启动
sed -i ‘7s/enforcing/disabled/’ /etc/selinux/config #永久关闭SELinux
注意:以上两条命令执行后,需要重启服务器才能生效,切记
②用户密码验证
Linux主机之间的远程管理工具是ssh命令,所以我们直接使用ssh进行远程登录
格式-------ssh 用户名@IP地址 【端口号】
e.g. ssh root@192.168.88.20
windows远程登录Linux主机一般使用第三方工具,比如Xshell等工具
格式-----ssh root@192.168.88.10
实验一:单向加密
㈠windows--linux[以Xshell为例]

解释:绿色的为连接指令,紫色的为公钥,红色部分为公钥文件记录类型,一次代表使用结束后自动删除,接收并保存代表后期一直可用,取消则直接断开连接
查看公钥位置:

点击查看,可查看具体的公钥内容

单向加密结束,后期的所有文件都强制加密后发送。
2.密钥对验证
Linux主机之间的密钥对登录验证
①客户端生成密钥对文件
ssh-keygen -t rsa -b 2048
-t 指定加密类型(rsa/dsa等)
-b 指定密钥对加密长度
询问1:执行过程中会询问保存位置,一般默认保存在当前用户家目录下的.ssh/目录下
询问2:是否对密钥文件进行加密
加密:若加密,则在调用密钥文件时需要先验证密钥的密码,密码正确才能使用密钥文件
不加密:若不加密,则密钥文件可以直接被调用,整个登录验证过程无需输入任何密码,即免密登录
②将公钥文件上传至服务器端
ssh-copy-id 用户名@服务器IP地址
若服务器端修改了端口则采用 ssh-copy-id "-p 端口号 用户名@服务器IP地址"
-i 指定上传的公钥文件位置和名字{不指定时是:id_rsa.pub}
#该用户名和要用来登录服务器的用户名一致
③客户端尝试登录服务器
ssh 用户名@服务器IP地址
#密钥对验证优先级大于账户密码验证
实验二:linux--linux[Xshell示例]
⑴两台已连接状态的虚拟机xshell

充当客户端的虚拟机xshell ip地址

⑵用 ssh root@192.168.88.10 连接服务器端

需要先接受公钥,再输入密码,才能验证完成登入
Linux客户端接收了公钥文件后,会将公钥文件存放的路径:~/.ssh/known_hosts


#所有登录服务器的客户端所接收的公钥就是同一个文件
⑶登入后查IP验证

实验三:使用命令进行密钥对共享
Linux主机之间的密钥对登录验证,单向加密情况下,需输入密码验证身份

①客户端生成密钥对文件
执行命令 ssh-keygen -t rsa -b 2048 生成公钥文件

②将公钥文件上传至服务器端
执行命令 ssh-copy-id root@192.168.88.10 将公钥发给服务器端,并创建相关文件

③客户端尝试登录服务器
exit退出后,再执行 ssh root@192.168.88.10 登录服务器

#密钥对验证优先级大于账户密码验证
3.Windows使用密钥对登录Linux
①使用Xshell自带的密钥对生成向导生成密钥对
②将公钥导入Linux主机的指定用户下的指定公钥配置文件内
后面用哪个用户登录就放在谁家里,这里我们先用root用户做实验
#authorized_keys可以存取多个公钥,但每个公钥只占一行
在root家目录下,找到 .ssh 目录,然后在里面创建 authorized_keys 文件,并且将公钥写入进去
#要注意.ssh目录的权限是:700;root和普通用户的.ssh目录 700 和authorized_keys 文件是600权限即可。
③使用windows尝试登录指定用户
实验四:双向加密windows--linux
⑴生成公钥





⑵公钥查看


#若直接导出为私钥
⑶修改linux的公钥文件

修改下列选项,并新建.ssh/authorized_keys文件[也可不修改,此处为默认]

将公钥内容写入文件中(注意为一行),并重启sshd服务(service sshd restart)

⑷重新利用Xshell登入linux系统,选公钥登录,实现免密登录

错误整理:在linux下,所有秘钥相关文件配置正确,但仍无法使用公钥对免密登录

⑴可能原因:文件及文件夹权限问题
权限要求如下:
~/.ssh/authorized_keys: 此文件要求权限为600
~/.ssh: 此文件夹要求权限为700
⑵可能原因:selinux开启导致
selinux开启时,普通用户可以登陆,但root不允许登陆
解决方案:关闭selinux
临时关闭 setenforce 0
# 永久关闭vi /etc/selinux/config 将SELINUX状态改为disabled
ssh配置方面小实验①的更多相关文章
- ssh配置方面小实验②
4.禁止使用密码登录当我们学会了使用密钥对进行验证后,建议生产环境下将账户密码登录功能关掉配置文件:/etc/ssh/sshd_config选项: PasswordAuthentication no ...
- Hadoop之词频统计小实验
声明: 1)本文由我原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Ubuntu操作系统,hadoop1-2-1,jdk1.8.0. 3)统计词频工作在单节点的伪分布上,至于真正实 ...
- MongoDB 主从复制小实验
MongoDB 主从复制小实验 操作环境描述:WIN8 64位操作系统,内装虚拟机为CentOS 5.5 32位系统. 操作描述:跟其他关系型数据库类似,在主库进行数据操作,将数据同步到从节点,从节 ...
- SSH配置免秘钥登录
一. SSH 配置免秘要登录 配置SSH 免秘要登录,虽然就那么几步,但总是会出现点小问题,今天就做下记录.SSH 免秘钥就是让两台机器相互信任,不需要输入密码就能相互登录.配置相互信任就是把各自的 ...
- 秒懂JVM的三大参数类型,就靠这十个小实验了
秒懂JVM的三大参数类型,就靠这十个小实验了 你好,我是悟空哥,「7年项目开发经验,全栈工程师,开发组长,超喜欢图解编程底层原理」.手写了2个小程序,Java刷题小程序,PMP刷题小程序,已发布到公众 ...
- mysql+ssh 配置(转载)
Mysql+ssh配置 一.Linux平台间mysql+ssh配置 本机地址为:192.168.189.133 mysql服务器地址为:192.168.189.139 linux命令行下使用ssh命令 ...
- Ngrok远程桌面及ssh配置
上一篇Ngrok 内网穿透利器 使用教程我们讲到Ngrok的基本使用教程,这篇描述一下Ngrok的远程桌面及ssh配置 Step 1 修改配置文件ngrok.cfg server_addr: &quo ...
- PBR综合小实验视频-狮子XL
这个是上学时候录的一个策略路由小实验
- centos ssh配置使用
配置 数据阶梯 CentOS SSH配置 默认CentOS已经安装了OpenSSH,即使你是最小化安装也是如此.所以这里就不介绍OpenSSH的安装了. SSH配置: 1.修改vi /etc/ssh/ ...
随机推荐
- Chrome Performance性能分析面板使用
最近做的项目都是内嵌egret游戏,想在移动端监测下它的性能,于是就开始了对Performance的探索: 一.使用 打开控制台,一顿操作: 网络选择Fast 3G,模拟手机普通3G环境,虽然现在大家 ...
- 集成多种协议、用于 USB-A 和 TYPE-C 双端口输出的快充协议芯片IP2726
1. 特性 支持 1A1C 支持 USB-A 和 TYPE-C 双端口输出 单口输出支持全部快充协议 双口同时插入时降压到 5V 快充规格 集成 QC2.0/QC3.0/QC4/QC4+输 ...
- kettle数据质量统计
1.利用Kettle的"分组","JavaScript代码","字段选择"组件,实现数据质量统计.2.熟练掌握"JavaScrip ...
- (005)每日SQL学习:关于物化视图的一系列创建等语句
--给用户授权 GRANT CREATE MATERIALIZED VIEW TO CDR; --创建物化视图的表日志(具体到某个表,物化视图中用到几个表就需要建立几个日志):当用FAST选项创建物化 ...
- linux文件、目录管理
系统目录结构 ls(list)ls / 根下面的目录每个用户都有一个家目录创建一个普通用户: useradd xfxing可查看该用户:ls /home/xfxing/ (useradd user1 ...
- SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等
SQL组成 DML数据操作语言 DCL数据控制语言 DQL数据查询语言 DDL数据定义语言 查询基础语法 记录筛选 where 子句 记录筛选 where 子句 实例练习 实例练习 Select语句中 ...
- java的volatile关键字(笔记)
Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同的线程总是看到某个成员变量的同一 ...
- python模块----os模块 (操作系统接口模块)
os模块提供一种使用与操作系统相关的功能的便捷式途径. 一定要使用 import os 而不是 from os import * .这将避免内建的 open() 函数被 os.open() 隐式替换掉 ...
- (30)Linux文本处理
1.cat命令:连接文件并打印输出到标准输出设备 cat 命令可以用来显示文本文件的内容(类似于 DOS 下的 type 命令),也可以把几个文件内容附加到另一个文件中,即连接合并文件. cat 命令 ...
- 子网划分、变长子网掩码和TCP/IP排错__散知识点
1.IP零子网(ip subnet-zero):这个命令可以允许你在自己的网络设计中使用第一个和最后一个子网.例如,C类掩码192通常只可以提供子网64和128,但在使用了ip subnet-zero ...