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

原文地址:https://www.cnblogs.com/yiyutianran/p/4470437.html