zoukankan      html  css  js  c++  java
  • ssh

    一、介绍背景
    ftp 、telnet : 数据包明文传递,在互联网中不进行加密。所以传输文件极不安全,现在被ssh协议取代。但talnet是其还可以用来作为端口探测.
    端口探测方法: telnet 192.168.0.1 80 探测192.168.0.1的80端口是否在监听

    二、安全加密方法
    2.1、对称加密算法
    原理:采用单密钥系统加密,解密和加密使用同一个密钥。我们现在使用的大部分加密方法都是对称加密。比如百度网盘分享文件时加密就是用的这种方法。
    示例:压缩的同时加密: zip -p 123 ./*

    在解压的时候需要输入密码才能完成解压缩:unzip XXX.zip 后面会提示输入密码。

    2.2非对称加密算法
    原理:接受端和发送端都生成自己的公钥和私钥,由自己的公钥加密的数据只有用自己的私钥才能解密。
    公钥可以公开,而私钥不可公开。公钥用来加密,私钥用来解密。

    步骤:
    当a要发送数据给b的时候,通过以下几个步骤:
    1、a连接上b,并获取b的公钥
    2、使用b的公钥和自己的公钥加密数据
    3、tcp/ip将数据传输给b
    4、b使用自己的密钥解密获取数据
    注意:加密之后a也可用自己的密钥解密数据

    三、ssh协议
    ssh协议是由非对称加密方法演变而来
    我们使用github和gitcd都是使用ssh协议。
    vim ~/.ssh/known_hosts 就可以看到我们连接过的主机ip或者域名 和对应的公钥

    github示例:
    上传数据
    1、我们连接上github的时候就会从上面下载github对应域名的公钥
    2、上传数据时就用那个公钥(github的公钥)加密所要上传的数据
    3、github使用自己的私钥解密数据并存储。
    下载数据:
    1、如果我们不把自己的公钥放到github上的时候我们是不能下载只能上传数据的。
    2、如果要下载数据就要把我们自己的公钥上传道github上保存起来
    3、下载数据的时候github使用我们上传的公钥加密数据并通过tcp/ip发送
    4、接受到数据的后使用自己的密钥解密数据

    四、ssh协议远程管理
    ssh协议远程管理:linux系统下
    1、首先查看有没有安装ssh服务(fedora20默认已安装):
    rpm -qa | grap ssh
    查看安装位置: rpm -ql opensshxxxx
    2、安装ssh服务:
    yum install openssh-server
    yum install openssh-clients
    3、配置ssh
    sudo vim /etc/ssh/sshd_config
    4、查看ssh服务状态;
    netstat -ntlp
    或者:ps -e | grep ssh
    ssh默认端口是22
    5、开启ssh服务
    sudo service sshd start
    6、远程登陆:
    ssh user_name@ip
    会提示下载公钥:输入yes
    提示输入用户密码:
    7、退出:
    exit
    8、文件传输:
    上传:scp [-r] dec_path user_name@ip:path
    下载:scp [-r] user_name@ip:path dec_path

  • 相关阅读:
    easyui的datagrid右侧没有边框线
    移除input在type="number"时的上下箭头
    端口被占用的解决办法
    给DOM操作生成的元素添加事件
    前端工具——Gulp篇
    python类型学习
    python对象学习
    Python之系统交互(subprocess)
    如何准确高效的获取数据库新插入数据的主键id
    接口和抽象类有什么区别
  • 原文地址:https://www.cnblogs.com/yiyutianran/p/4470437.html
Copyright © 2011-2022 走看看