SSH简介
- SSH是一种安全管理通道协议,主要用来实现字符界面的远程登录、远程复制等功能
- SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令
SSH的优点
- 数据传输是加密的,可以防止信息泄露
- 数据传输是压缩的,可以提高传输速度
通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。
使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、PoP、甚至为PPP提供一个安全的"通道"
SSH远程管理配置
服务端配置文件常用字段及解释
SSH远程登录
命令:ssh -p 22(默认端口号)用户名 @ IP地址
注: IP前加上“用户名@”指定登录的用户, 不写默认当前用户登录
使用exit退处登录
scp远程传输文件
上传文件(客户端传到服务端)
命令:scp [-P 端口号] 文件名 [用户名@]服务端ip:上传到的目录
- -P 指定远程登录的端口,不写默认使用22端口
- -r 目录 递归传输目录
ip前加上"用户名@"指定登录的用户,不写默认使用当前用户
创建文件夹用于scp上传
上传到服务端的/root目录下
进入服务机
确认上传
SSH登录验证的两种验证方式
(1)密码验证
对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解
(2)密钥对验证
要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录
公钥和私钥的关系:
- 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密
- 不能根据一个密钥来推算出另一个密钥(非对称密钥)
- 公钥对外公开,私钥只有私钥的持有人才知道
SSH密钥对验过程
配置使用密钥对验证登录
生成密钥
命令:ssh-keygen [-t 加密算法]
-t—指定加密算法
将公钥发送给服务器(手动)
将公钥文件发送给服务端(自动)
命令:ssh-copy-id -i 公钥文件 用户@服务端ip
秒交互登录
公钥文件设置密码
服务端导入公钥文件后,建立ssh代理
公钥文件未设置密码
- 密钥验证后直接登录