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原理及操作的更多相关文章

  1. SSH原理与运用(二):远程操作与端口转发

    SSH原理与运用(二):远程操作与端口转发 作者:阮一峰 (Image credit: Tony Narlock) 七.远程操作 SSH不仅可以用于远程主机登录,还可以直接在远程主机上执行操作. 上一 ...

  2. [转帖]SSH原理与运用(二):远程操作与端口转发

    SSH原理与运用(二):远程操作与端口转发 http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html 接着前一次的文章,继续介绍S ...

  3. SSH原理与运用

    SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很多普通用户也每天使用. SSH具备多种功能,可以用于 ...

  4. SSH原理与运用(一)和(二):远程登录 RSA算法原理(一)和(二)

    SSH原理与运用(一)和(二):远程登录  RSA算法原理(一)和(二) http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html ht ...

  5. SSH原理与运用一:远程登录(转)

    原文:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html 作者: 阮一峰 SSH是每一台Linux电脑的标准配置. 随着Linux ...

  6. ssh原理图解

    SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式.在此之前,远程登录一般常用FTP和Telnet,但是它们以明文的形式在网络中传输账 ...

  7. SSH原理与运用(一):远程登录(转)

      作者: 阮一峰 日期: 2011年12月21日 SSH是每一台Linux电脑的标准配置. 随着Linux设备从电脑逐渐扩展到手机.外设和家用电器,SSH的使用范围也越来越广.不仅程序员离不开它,很 ...

  8. 图解SSH原理

    1. 初见SSH SSH是一种协议标准,其目的是实现安全远程登录以及其它安全网络服务. SSH仅仅是一协议标准,其具体的实现有很多,既有开源实现的OpenSSH,也有商业实现方案.使用范围最广泛的当然 ...

  9. (转)图解SSH原理

    图解SSH原理 原文:https://www.jianshu.com/p/33461b619d53 http://blog.51cto.com/forlinux/1352900---------SSH ...

随机推荐

  1. Cocos Creator学习四:按钮响应事件

    1.方法一:通过编辑器对cc.Button的属性进行拖放操作进行控制 (1)创建脚本BtnClick1.js,增加btnClick1函数,然后拖放到Canvas节点中(记得拖放,否则下面步骤将找不到对 ...

  2. 『TensorFlow』读书笔记_进阶卷积神经网络_分类cifar10_下

    数据读取部分实现 文中采用了tensorflow的从文件直接读取数据的方式,逻辑流程如下, 实现如下, # Author : Hellcat # Time : 2017/12/9 import os ...

  3. 再次提供一个纯粹通过pl/sql解析json的方法。

    在github上面有一个叫pljson的项目,该项目就是用pl/sql 来解析json的. 项目地址:pljson(需翻|强),如果翻不了强的同学,我在国内克隆了一个副本,不定期同步更新 pljson ...

  4. 【IDE】我的花里胡哨VS

    我的 VS2017 效果图,花里胡哨但十分养眼,利于C/C++ Coding~ 一.主题设置 工具 → 扩展和更新 下载插件 Color Theme Editor for Visual Studio ...

  5. Java覆盖

    Java的覆盖: 源代码: package dijia;class Parent1{ void f() { System.out.println("迪迦奥特曼1"); } void ...

  6. js对json字符串和json对象的转换

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Full permutation

    Full Permutation 全排列问题, 将1~n这n个整数按字典序排放 划分: 输出1开头的全排列 输出2开头的全排列 ...... 输出n开头的全排列 递归边界:当下标1 ~ n 位都已经填 ...

  8. springcloud Eureka学习笔记

    最近在学习springcloud,抽空记录下学习笔记;主要记录Eureka的实现过程和高可用性的实现 Eureka是一个服务治理框架,它提供了Eureka Server和Eureka Client两个 ...

  9. 开发方式-----C语言

    上期我们已经把C语言的开发平台搭建好了,还有不清楚地可以查看我上一篇的笔记,这次我们就要进行编辑C语言,那么它到底是怎么实现开发的呢?这一期我就来演示一次开发方式,至于说明为什么会这样或者这个是什么意 ...

  10. My First Linux Module

    My First Linux Module Today, I successfully build my first linux hello module. First of all add a di ...