SSH原理及操作
1:公钥与私钥(public and private key)
公钥:提供给远程主机进行数据加密的行为
私钥:远程主机收到客户端使用公钥加密数据后,在本地端使用私钥来解密
2:公钥与私钥进行数据传输时的角色示意图

因为网络连接是双向的,所以服务端与客户端互相拥有对方的公钥。
3:服务器与客户端进行连接的示意图

过程:
(1):服务器建立公钥文件
(2):客户端发送主动连接请求
(3):服务器发送公钥文件给客户端
(4):客户化记录或比对服务器的公钥文件及创建自己的密钥对
(5):返回客户端的公钥给服务端
(6):服务端接收,并开始解密
命令:
1:普通用法 ssh user@host 默认端口号为22
2:指定端口 ssh user@host -p port
3:重启ssh服务 /etc/init.d/sshd restart
4:查看22号端口 lsof -i:22
netstat -tlnp |grep ssh
rsync进行同步镜像备份:
1:在同一个主机,把/ll 备份到/mm
rsync -av /ll /mm
2:ssh形式
rsync -av -e ssh root@192.168.1.24:~/shell/ll /tmp
脚本:
1:每次连接都要输入密码
#!/usr/bin/expect
spawn ssh lile@10.0.0.160
#expect "(yes/no)?" {send "yes"}
expect "password:" { send "123456\r"}
interact
2:查看一个用户在一组远程主机上的运行时间,运行时间指的是系统加电后运行了多久
#!/bin/bash IP="10.0.0.160 10.0.0.161 10.0.0.162"
user="lile" for ip in $IP;
do
utime=$(ssh $user@$ip uptime | awk '{print $3}')
echo "$ip uptime" : $utime
done
SSH实现无密码自动登录
原理:
非对称加密技术:公钥、私钥,用ssh-keygen命令创建密钥,会有id_rsa(私钥)、id_rsa.pub(公钥)。客户端创建一对密钥之后,把公钥放在远程端的~/.ssh/authorized_keys下面,客户端的私钥放在~/.ssh目录中。SSH的相关配置信息可以在/etc/ssh/sshd_config中
SSH原理及操作的更多相关文章
- SSH原理与运用(二):远程操作与端口转发
SSH原理与运用(二):远程操作与端口转发 作者:阮一峰 (Image credit: Tony Narlock) 七.远程操作 SSH不仅可以用于远程主机登录,还可以直接在远程主机上执行操作. 上一 ...
- [转帖]SSH原理与运用(二):远程操作与端口转发
SSH原理与运用(二):远程操作与端口转发 http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html 接着前一次的文章,继续介绍S ...
- SSH原理与运用
SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很多普通用户也每天使用. SSH具备多种功能,可以用于 ...
- SSH原理与运用(一)和(二):远程登录 RSA算法原理(一)和(二)
SSH原理与运用(一)和(二):远程登录 RSA算法原理(一)和(二) http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html ht ...
- SSH原理与运用一:远程登录(转)
原文:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html 作者: 阮一峰 SSH是每一台Linux电脑的标准配置. 随着Linux ...
- ssh原理图解
SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式.在此之前,远程登录一般常用FTP和Telnet,但是它们以明文的形式在网络中传输账 ...
- SSH原理与运用(一):远程登录(转)
作者: 阮一峰 日期: 2011年12月21日 SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很 ...
- 图解SSH原理
1. 初见SSH SSH是一种协议标准,其目的是实现安全远程登录以及其它安全网络服务. SSH仅仅是一协议标准,其具体的实现有很多,既有开源实现的OpenSSH,也有商业实现方案.使用范围最广泛的当然 ...
- (转)图解SSH原理
图解SSH原理 原文:https://www.jianshu.com/p/33461b619d53 http://blog.51cto.com/forlinux/1352900---------SSH ...
随机推荐
- Rancher2.0中使用外置NFS存储部署Nginx实验
目录: 1.环境准备工作 1.1 准备好Rancher2.0集群环境 1.2 准备好外部NFS服务器 2.Rancher2.0中使用NFS存储的方法 2.1 在集群中创建持久卷(PV) 2.2 在项目 ...
- [python]上传文件验证
上传文件验证 上传文件验证分为:1.文件头验证 2.文件类型验证 3.文件后缀验证 获取文件上传的二进制数据 # 获取上传文件 file = request.files.get('file') if ...
- 《SQL 基础教程》第二章:查询基础
这一章的结构如下: SELECT 语句基础 算术运算符和比较运算符 逻辑运算符 SELECT 语句可用于查询数据,并且可以设定条件来查询具有特定值的记录.条件的设定就需要算数运算符.比较运算符和逻辑运 ...
- linux中执行shell命令的几种常用方法
1 切换到shell脚本所在目录执行shell脚本: cd /test/shell ./test.sh 2 以绝对路径的方式执行shell脚本: /test/shell/test.sh 3 直接使用b ...
- Kali linux 2016.2(Rolling)里安装OpenVAS
不多说,直接上干货! 本博文,是在Kali 2.0 linux里,安装OpenVAS. 前言 OpenVAS是一款开放式的漏洞评估工具,主要用来检测目标网络或主机的安全性.与安全焦点的X-Scan工具 ...
- 【IDE】我的花里胡哨VS
我的 VS2017 效果图,花里胡哨但十分养眼,利于C/C++ Coding~ 一.主题设置 工具 → 扩展和更新 下载插件 Color Theme Editor for Visual Studio ...
- Python—字符串的操作
字符串的操作 变量: 变量只能是 字母,数字或下划线的任意组合,但首个字符不能为数字,且不能有空格 以下关键字不能声明为变量: and ,as, assert, break ,class ,conti ...
- 兼容 Spring Boot 1.x 和 2.x 配置类参数绑定的工具类 SpringBootBindUtil
为了让我提供的通用 Mapper 的 boot-starter 同时兼容 Spring Boot 1.x 和 2.x,增加了这么一个工具类. 在 Spring Boot 中,能够直接注入 XXProp ...
- leetcode python 009
##懒得自己做 ## 验证回文数字int0=63435435print(int(str(int0)[::-1])==int)
- C语言实现Winsocket网络传输数据时乱码问题
问题描述:输入中文字符时在数据结尾总是有别的字符冒出 解决办法: recvBuf[ret] = '\0';//接收数据的数组,表示存储的数据截止,后面没有数据了 再运行,传输正常. 提示:C语言基础知 ...