Linux系统SSH远程管理服务

一、SSH服务介绍

1.1什么是SSH

SSH (Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。

SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH为建

立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

远程管理Linux系统基本上都要使用到ssh。

1.2SSH优点

数据传输是加密的,可以防止信息泄漏

数据传输是压缩的,可以提高传输速度

1.3SSH软件

SSH 客户端:finalshell  xshell  putty   secureCRT   MobaXterm

SSH 服务端:openSSH (Centos 7 默认安装)

1.4openSSH服务器配置文件

服务名称:sshd
服务端主程序:/usr/sbin/sshd  
服务端配置文件:/etc/ssh/sshd_config 
客户端配置文件:/etc/ssh/ssh_config

openSSH是实现SSH协议的开源软件项目,适用于各种UNIX、Linux操作系统。

1.4.1服务端配置文件位置:/etc/ssh/sshd_config

1.4.2SSH服务实际功能实践

1.建议使用非默认端口22

2.禁止使用protocol version 1

3.限制可登录用户(白名单)

4.设定空闲会话超时时长

5.利用防火墙设置ssh访问策略

6.仅监听特定的IP地址、公网、内网

7.基于口令认证时,使用强密码策略,比如:tr -dc A-Za-z0-9_< /dev/urandom/head -c 12|xargs

8.使用基于密钥的认证

9.禁止使用空密码

10.禁止root用户直接登录

11.限制ssh的访问频度和并发在线数

12.经常分析日志分离

二、SSH原理

2.1公钥传输原理

客户端发起链接请求

服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

客户端生成密钥对

客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密

客户端发送加密值到服务端,服务端用私钥解密,得到Res

服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

2.2scp:远程安全复制

scp [-r]   其他主机的用户名@其他主机IP:原文件 目标目录

例如:本机IP地址为192.168.211.100,目标主机(其他主机)IP地址为192.168.211.100

三、实验免密登录

客户端IP地址为192.168.211.100,服务端IP地址为192.168.211.10

1、客户端生成密钥

2、客户端将公钥发给服务端

3.登录连接

四、ssh-agent命令

ssh-agent是OpenSSH认证代理,ssh-agent是一个用于保存公钥认证过程中用到的私钥的程序,当我们运行ssh-agent后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程,ssh-agent可以帮助我们选择对应的密钥进行认证,不需要手动指定密钥即可进行连接,当私钥设置了密码,我们又需要频繁的使用私钥进行认证时,ssh-agent可以帮助我们免去重复的输入密码的操作

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值