SSH远程登录管理

291 阅读3分钟

SSH简介

  • SSH是一种安全管理通道协议,主要用来实现字符界面的远程登录、远程复制等功能
  • SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令

SSH的优点

  • 数据传输是加密的,可以防止信息泄露
  • 数据传输是压缩的,可以提高传输速度

通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。

使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替telnet,又可以为ftp、PoP、甚至为PPP提供一个安全的"通道"

SSH远程管理配置

服务端配置文件常用字段及解释

微信截图_20220820222651.png

SSH远程登录

命令:ssh -p 22(默认端口号)用户名 @ IP地址

微信截图_20220820223122.png

注: IP前加上“用户名@”指定登录的用户, 不写默认当前用户登录

使用exit退处登录

微信截图_20220820223200.png

scp远程传输文件

上传文件(客户端传到服务端)

命令:scp [-P 端口号] 文件名 [用户名@]服务端ip:上传到的目录

  • -P 指定远程登录的端口,不写默认使用22端口
  • -r 目录 递归传输目录

ip前加上"用户名@"指定登录的用户,不写默认使用当前用户

创建文件夹用于scp上传 微信截图_20220823201713.png

上传到服务端的/root目录下 微信截图_20220823201849.png

进入服务机 微信截图_20220823201930.png 确认上传

微信截图_20220823202105.png

SSH登录验证的两种验证方式

(1)密码验证

对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解

(2)密钥对验证

要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录

公钥和私钥的关系:

  • 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密
  • 不能根据一个密钥来推算出另一个密钥(非对称密钥)
  • 公钥对外公开,私钥只有私钥的持有人才知道

SSH密钥对验过程

微信截图_20220817112050.png

配置使用密钥对验证登录

生成密钥

命令:ssh-keygen [-t 加密算法]

-t—指定加密算法 微信截图_20220823205210.png

将公钥发送给服务器(手动)

微信截图_20220828211104.png

将公钥文件发送给服务端(自动)

命令:ssh-copy-id -i 公钥文件 用户@服务端ip

微信截图_20220828211727.png

秒交互登录

公钥文件设置密码

服务端导入公钥文件后,建立ssh代理

微信截图_20220828212057.png

公钥文件未设置密码

  • 密钥验证后直接登录