一,SSH远程管理
SSH是一种安全通道协议,主要用于来实现字符界面的远程登录,远程复制等功能。SSH协议对于通信双方的数据传输进行了加密处理。其中包括1用户登录时输入的用户口令。因此ssh协议具有很好的安全性。
1,ssh原理
SSH客户端<---------------------------------------------->SSH服务端
数据传输是加密的,可以防止信息泄露
数据传输是压缩得,可以提高传输速度
2,SSH客户端APP以及服务端app
SSH客户端:Putty、 xshell、 CRT、Mobaxterm、Finalshell
ssH服务端: OpenSSH
Centos 7系统默认已安装openssh相关软件包,并将sshd服务添加为开机自启动。执行“systemctl start sshd ”命令即可启动sshd服务
sshd服务的默认配置文件是/etc/ssh/sshd_config
ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件
3,共密钥传输
- 客户端发起链接请求
- 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
- 客户端生成密钥对
- 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
- 客户端发送加密后的值到服务端,服务端用私钥解密,得到Res
- 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
- 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密
二,SSH服务
1,远程登录
ssh[远程主机用户名]@[远程服务器主机或者ip地址] -p port
ssh -l [远程主机用户名] [远程服务器主机名或者ip地址] -p port
-p #指定端口
-l #指定登录名称
退出exit
2,文件传输
- sftp是安全文件传送协议,可以为传输文件提供一种安全的网络的加密方法。
- sftp与ftp有着几乎一样的语法和功能。SFTP 为SSH的其中一部分,其实在SSH软件包中,已经包含了一个叫作SFTP全文件信息传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作。所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP
3,配对密钥实验