SSH免密远程登陆及详解
SSH(安全外壳协议):为建立在应用层和传输层基础上的安全协议,ssh是目前较为可靠,专门为远程登陆,会话和其他网络服务提供安全 协议。利用ssh协议可以有效的防止远程管理过程中的信息泄露问题,传统的网络服务程序,如ftp,pop和telnet在本质上都是 不安全 的, 因为他们在网络上用明文传输口令和数据,通常使用SSH,可以把所有传输的数据进行加密,能够防止DNS欺骗和IP欺骗,使用SSH,还有一个额外的好处就是传输的数据进过压缩,所以可以加快传输的速度,SSH有很多功能,既可以代替Telnet,又可以为FTP,pop,甚至为PPP提供一个安全的通道,
验证:对于客户端来说,SSH提供两种级别的安全验证,
1.基于口令的安全验证
只要知道自己的账号和口令,就可以登陆远程主机,所有传输的数据都会被加密,但是不能保证正在连接的服务器 就是你想连接的服务器可能会有别的服务器在冒充真正服务器,也就是收到“中间人”这种攻击
2.基于密钥的安全验证
需要依靠密钥,也就是你必须为自己创建的一对密钥,并把公用密钥放在需要访问的服务器上,客户端软件就会向服务器发送请求,请求用你的密钥进行安全验证,服务器收到请求之后,现在该服务器上你的主目录下寻找你的公用密钥,然后把它和你发送过的公用密钥进行比较,如果两个密钥一致,服务器就用公用密钥加密“质询”,并把它发送给客户端软件,客户端收到“质询”之后就可以用你的私人密钥解密在把它发送给服务器
用这种方式,可以增加自己密钥的口令,但是与第一种级别相比,第二种级别 不需要再网络上传送口令,第二种级别不仅加密所有的数据,而且“中间人”这种方式也是不可能的(因为他没有你的私人密钥,)但是整个登录的过程中需要10秒
层次:
SSH主要享有三部分组成:
*传输层协议【SSH-TARNS】
提供了服务器认证,保密性及完整性,此外它还提供了压缩功能,SSH-TARNS通常运行在TCP/IP连接上,也可能用于其他可靠数据流上,SSH-TARNS提供了强力的加密技术,密码主机认证 及完整性保护,
该协议中认证基于主机,并且该协议不执行用户认证,更高层的用户认证可以设计为此协议之上
*用户认证协议【SSH-USERAUTH】
用户向服务器提供客户端用户鉴别功能,它运行在传输层协议SSH-TARNS上面 ,当SSH-USERAUTH开始后,它从底层协议那里接受会话标识符,会话标识符唯一标识会话并且适用于标记已证明私钥的所有协议,SSH-USERAUTH也需要 知道底层协议是否提供保密性保护。
*连接协议【SSH-CONNECT】
将多个加密隧道分成逻辑通道,它运行在用户认证上,提供了交互式登录,远程命令执行,转发TCP/IP连接
authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
id_rsa : 生成的私钥文件
id_rsa.pub : 生成的公钥文件
know_hosts : 已知的主机公钥清单
如果希望ssh公钥生效需满足至少下面两个条件:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
【实验案例】
将两台机器开通SSH,最终是的三台机器可以互相免密远程登录
[zhangsan@Joyheros-iPhone ~]$ ssh-keygen -t rsa
[xiaoyu@localhost ~]$ ssh-keygen -t rsa
我们要想免密登录xiaoyu这台机器,我们需要将自身的公钥发给对方特定的目录下(.ssh/authorized_keys)
# ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.20.138
或者
[zhangsan@Joyheros-iPhone .ssh]$ scp id_rsa.pubxiaoyu@192.168.20.138:/home/xiaoyu/.ssh/authorized_keys
[zhangsan@Joyheros-iPhone .ssh]$ ssh xiaoyu@192.168.20.138
Last login: Mon Jun 5 23:17:42 2017 from 192.168.20.167
[xiaoyu@localhost ~]$ #免密登录成功
同理!我们从xiaoyu这台机器上免密登录zhangsan这台机器,也是生成公私密钥之后,将自己的公钥给对方zhangsan主机
[xiaoyu@localhost .ssh]$ scp id_rsa.pub zhangsan@192.168.20.167:/home/zhangsan/.ssh/authorized_keys
[xiaoyu@localhost .ssh]$ ssh zhangsan@192.168.20.167
Last login: Mon Jun 5 22:52:33 2017
[zhangsan@Joyheros-iPhone ~]$#免密登录成功
PS:当我们需要免密登录对方机器时,需要在对方的sshd_conf配置文件中开启密钥验证的权限如下:
vim /etc/ssh/sshd_config
ps:后续普通目录下的~.ssh的权限为700权限,而公钥的权限为600
后续拷贝公钥时即可执行# ssh-copy-id -i /root/.ssh/id_rsa.pub 【目标主机名&&IP地址】
SSH免密远程登陆及详解的更多相关文章
- L07-Linux配置ssh免密远程登录
本文配置可实现:集群服务器之间相互可以ssh免密登录.若只想从单一机器(如master)ssh免密登录其他机器(slave1.slave2),则只跟着操作到第二步即可. 建议先花两三分钟把全文看完再跟 ...
- Shell 编程中,在循环里使用ssh免密远程执行命令的注意事项
前提:给自己机器配置ssh免密登录#!/bin/bashcat << 'EOD' > list1234EOD while read linedo if ssh myname@127. ...
- Linux免密远程登陆
上一节讲到伪分布式部署,启动后需要输入4次密码,停止服务后也要输入4次密码.本节记录免密登陆原理和实践 假设有2台服务器(A和B)(这是配置原理) 1)A需要远程登录B服务器,那么A就要创建密钥对(私 ...
- 利用系统自带工具快速实现SSH免密远程登录
一.软件环境 操作系统:CentOS Linux release 7.4.1708 (Core) SSH版本 [root@Geeklp201 ~]# ssh -V OpenSSH_7.4p1, Ope ...
- SSH免密码登录配置方法详解
1.测试主机配置信息: 192.168.100.236 db06.chavin.king db06 192.168.100.237 db07.chavin.king db07 2.创建测试用户: gr ...
- Linux下配置ssh免密远程登录
步骤 使用ssh-keygen生成密钥对 提示要求输入保存的位置,密码等信息.全部使用默认信息即可 使用ssh-copy-id user@host将公钥拷贝到需要免密登录的服务器的账户中. 例如,需要 ...
- SSH免密登录详解
SSH免密登录详解 SSH(Security Shell)安全外壳协议,是较为可靠的,专为远程登录会话和其他网络服务提供安全保证的协议. 对于传统的网络服务程序(例如,FTP,Telnet等)来说 ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-2设置SSH免密登录
因为hadoop集群在安装的时候需要集群中所有机器的权限. 所以我们需要打通所有节点的ssh无密码登陆,思路是生成每台机子的密钥,集中在一个文件中,再分发到每台机子上. 为了确保下面的命令能顺利执行, ...
- ssh免密登陆及时间设置
1.ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa // 在自己主机生成私钥和公钥 2.scp id_rsa.pub centos@s201:/home/centos ...
随机推荐
- jquery datetimepicker
1.详细说明见:https://xdsoft.net/jqplugins/datetimepicker/ 语言选择中文,现在lang配置已经失效;可用: $.datetimepicker.setLoc ...
- C#红绿状态灯
1.在Label里 画圆,存在窗体刷新会丢失画. public void SetShowConnectStatus(Label lbl, bool isOk) { lbl.Text = "& ...
- springboot:集成fastjson(教训)
网上有很多介绍,主要有两种. 1.在启动类中注入bean /** * 集成fastjson * * @return */ @Bean public HttpMessageConverters fast ...
- Bootstrap的插件
04-Bootstrap的插件 1.下拉菜单 代码如下: <div class="dropdown"> <button class="btn btn ...
- Ex 2_25 n位十进制整数转换为二进制形式..._第四次作业
(a) 当n=1时,(10)d=(1010)b 当n=2时,(100)d=(10)d x (10)d=(1010)b x (1010)b 当n=4时,(10000)d=(100)d x (100) ...
- [javascript]multipart/form-data上传格式表单自定义创建
<!DOCTYPE html> <html> <head> <title></title> </head> <body&g ...
- Android存储路径你了解多少?
在了解存储路径之前,先来看看Android QQ的文件管理界面,了解一下QQ的数据文件路径来源,到底是来源于什么地方? 手Q文件管理对应存储目录 我的文件:是指放在QQ指定目录下的文件:/tencen ...
- 学习promise
总概括 promise是js异步编程的一种解决方案 我对promise的认识(通俗):给一个承诺promise,如果未来发生的事情(异步操作)是符合满足相应条件,则接受resolve,否则失败reje ...
- CSS margin合并
外边距合并 块的顶部外边距和底部外边距有时被组合(折叠)为单个外边距,其大小是组合到其中的最大外边距 发生外边距合并的三种基本情况 1. 相邻的兄弟姐妹元素 <div id="marg ...
- winform无需安装pdf阅读器打开pdf文件
控件来源:http://www.o2sol.com/pdfview4net/download.htm (使用版本:2016年8月31号更新版) 备份链接: https://pan.baidu.com/ ...