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/ ...
随机推荐
- 【ORA】ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
操作系统是CentOS 5.11 数据库 10.2.0.5.0 晚上查看数据库,发现数据库报错查看相关的trace文件内容如下: *** SERVICE NAME:(SYS$BACKGROUND) 2 ...
- Over Permission - Pikachu
概述: 如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作. 越权漏洞形成的原因是后台使用了不合理的权限校验规则导致的. 一般越权漏洞容易出现在权限页面( ...
- SAP FTP FOR ABAP programing
近来忙的不可开交,忙的一塌糊涂,呵呵,今天怀揣愧疚之心,上来分享博文一篇,算是对自己的一点安慰. 首先在SAP系统中提供了很多的FTP示例程序,如下: RSFTP001 SAPFT ...
- es6语法详解
什么是ECMAScript? ECMAScript是浏览器脚本语言的规范,而我们熟知的js语言,如JavaScript则是规范的具体实现.es6就好比Java的jdk. 一.es6语法详解:let声明 ...
- CMU数据库(15-445)-实验2-B+树索引实现(中)删除
3. Delete 实现 附上实验2的第一部分 https://www.cnblogs.com/JayL-zxl/p/14324297.html 3. 1 删除算法原理 如果叶子结点中没有相应的key ...
- ././include/linux/kconfig.h:4:32: fatal error: generated/autoconf.h: No such file or directory 解决办法
我在编写内核驱动模块的时候报了一个非常奇怪的错误,如下图: 在目录下看了一下确实没有发现这个文件,感觉很奇怪,因为我记得之前编译模块是没有错误的,所以不可能是我代码写的有问题. 查阅了资料很多说要清除 ...
- Scrapy——將爬取圖片下載到本地
1. Spider程序: 1 import scrapy, json 2 from UnsplashImageSpider.items import ImageItem 3 4 class Unspl ...
- python 字典(formkey 建立 取值 赋值 删除 )
formkey快速建立空字典 result = {}.fromkeys(['name','age','job'],None) print(result) #往字典里添加元素 result. ...
- C#高级编程第11版 - 第九章 索引
[1]9.1 System.String 类 String类中关键的方法.如替换,比较等. [2]9.1.1 构建字符串 1.String类依然有一个缺点:因为它是不可变的数据类型,这意味当你初始化一 ...
- The Garbage Collection Handbook
The Garbage Collection Handbook The Garbage Collection Handbook http://gchandbook.org/editions.html ...