SSH远程管理服务

一、SSH服务

1.SSH(Secure Shell)

SSH是一种安全通道协议,用来实现字符界面得远程登录、远程复制等功能,SSH协议对通信双方得数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH是建立在应用层和传输层基础上的安全协议,对数据进行压缩并加快传输速度。远程管理linux系统基本上都要用到ssh协议,SSH是专门为了远程登录会话和其他忘了服务提供安全性得协议,利用SSH协议可以有效防止远程管理过程中得信息泄露问题,通过SSH可以对所有传输的数据进行加密。

2.SSH优点

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

2.数据传输是压缩得,可以提高传输速度

3.SSH的客户端与服务端

1.客户端

1.Linux客户端:ssh,scp,sftp,slogin

2.Windows客户端:xshell,MobaXterm,putty,securecrt,ssh,secure,shell,client

3.SSH客户端的配置文件位置:/etc/ssh/ssh_config

2.服务端

1.SSH服务端:OpenSSH(开源)

2.ssh服务端主要包括两个服务功能:ssh远程连接和sftp服务(文件传输功能)

二、SSH的原理

1.公钥首次连接原理

1.客户端发起链接请求

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

3.客户端生成密钥

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

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

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

7.双方各自持有自己的一对公钥、私钥以及对方的公钥,之后的所有通讯都会被加密

2.ssh远程登陆

每次使用sshd登录到其他主机,双方都会生成一个文件known_hosts把对方主机的公钥存放在.ssh/known_hosts文件里,当用户第一次登录ssh服务器时,必须接受服务器发来的RSA密钥(需要根据提示输入:yes)后才能继续验证,接受的密钥信息将保存到~/.ssh/known_hosts文件中,密码验证成功以后,就登陆到目标服务器的命令行环境中了

命令格式:ssh  -p(这里演示指定端口为默认端口22)  root用户、目标的IP地址

注:如果sshd服务器使用了非默认的端口号,如:1379,则在登陆时必须通过-p选项指定端口号

三、OpenSSH服务器

1.OpenSSH

Centos7系统默认已安装openssh相关软件包,并将sshd服务添加为开机自启动

SSHD作用:SSHD服务使用SSH协议可以用来进行远程控制,或在计算机之间传输文件,相较于之前的telnet方式传输文件要安全很多,因为telnet使用明文传输,SSH是加密传输

1.服务名称:sshd(服务默认使用的是TCP22端口)

2.服务端主程序:/usr/sbin/sshd

3.服务端配置文件:/etc/ssh/sshd_config

4.客户端配置文件:/etc/ssh/ssh.config

2.配置OpenSSH服务端

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

3.SSH服务实际功能实践

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客户端程序

1.远程安全复制:scp

下行复制:从目标主机192.168.7.130复制passwd文件到本机并改名为passwdeva.txt

上行复制:从本机复制/etc/ssh目录到192.168.7.130的/opt目录下

2.安全ftp上载:sftp

可以通过sftp远程连接目标进行操作:

五、免密登录

客户端eva,IP地址为192.168.7.131

服务端esdeath,IP地址为192.168.7.130

1.客户端生成密钥

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

3.登录连接,登录到服务器不需要密码

六、ssh-agent命令

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值