Linux系统中ssh远程管理服务

目录

一.SSH服务

1.1 SSH协议介绍

1.2  SSH优点

1.3 SSH客户端服务端

1.4 SSH原理

1.4.1 公钥首次连接原理

1.4.2 登录

二.OpenSSH服务器

2.1 OpenSHH简介

2.2 SSH服务端

2.3 SSH客户端

2.3.1 scp——远程安全复制 

2.3.2 sftp——安全ftp  ​编辑

三. 免密登录

3.1  客户端生成密钥


一.SSH服务

1.1 SSH协议介绍

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

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

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

远程管理Linux系统基本上都要使用到ssh,因为:telnet、FTP等传输方式是以明文传送用户认证信息,本质上是不安全的。SSH(Secure Shell)目前较可靠,是专为远程登录会话和其他忘了服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题,透过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗

SSH客户端<-——网络——>SSH服务端


1.2  SSH优点

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

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

1.3 SSH客户端服务端

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

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

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

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

1.4 SSH原理

1.4.1 公钥首次连接原理

1. 客户端发起链接请求
2..服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)
3. 客户端生成密钥对
4. 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密
5. 客户端发送加密后的值到服务端,服务端用私钥解密,得到Res
6. 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)
7. 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通       讯都会被加密

1.4.2 登录

每次使用sshd登录到其他主机,双方都会生成一个文件known_hosts把对方主机的公钥在.ssh/known_hosts文件里

第一次登录Linux系统中ssh远程管理服务_第1张图片

多次登录

Linux系统中ssh远程管理服务_第2张图片登录方法1 ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port(端口号)

当在Linux主机上远程连接另一台Linux 主机时,如果当前所登录的用户是root的,当连接另一台主机时也是用root用户登录时,可以直接使用ssh+IP,端口默认(端口默认为22)即可,如果端口不是默认的情况下,需要使用-p指定端口。

本机是root用户登录,另一台主机也是root用户登录

本机不是root用户登录,另一台主机是root用户登录

 登录方法3 ssh -t 中间主机IP ssh 目标主机IP

 由于主机C不允许主机A直接连接 但是主机C允许主机B连接,所以可以使用主机A连接主机B,主机B连接主机C,这样主机A就能与主机C相连

Linux系统中ssh远程管理服务_第3张图片

二.OpenSSH服务器

2.1 OpenSHH简介

服务名称:sshd(服务默认使用的是TCP的22端口)

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

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

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

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

SSHD作用:SSHD服务使用SSH协议可以用来进行远程控制,或在计算机之间传输文件。

相比较之前的telnet方式传输文件要安全很多,因为telnet使用明文传输,SSH是加密传输。

2.2 SSH服务端

配置文件:/etc/ssh/sshd_config 

Linux系统中ssh远程管理服务_第4张图片

  将服务端端口号改为27 客户端进行连接

Linux系统中ssh远程管理服务_第5张图片客户端去连接

 设置白名单

不设置白名单所有用户都可以登录访问,设置了白名单后,只有白名单内的用户登录,其余任何用户都不可以登录

  重启服务: systemctl restart sshd

 主机 192.168.52.120使用my用户登录192.168.52.200

Linux系统中ssh远程管理服务_第6张图片

设置黑名单

ssh服务的最佳实践

建议使用非默认端口22
禁止使用protocol version 1
限制可登录用户
设定空闲会话超时时长
利用防火墙设置ssh访问策略
仅监听特定的IP地址
基于口令认证时,使用强密码策略,比如: tr -dc A-Za-z0-9_< /dev/urandom / head -c 12| xargs
使用基于密钥的认证
禁止使用空密码
禁止root用户直接登录
限制ssh的访问频度和并发在线数
经常分析日志分离

2.3 SSH客户端

2.3.1 scp——远程安全复制 

Linux系统中ssh远程管理服务_第7张图片

2.3.2 sftp——安全ftp  

 本机IP地址Linux系统中ssh远程管理服务_第8张图片

  另一台主机

三. 免密登录

3.1  客户端生成密钥

Linux系统中ssh远程管理服务_第9张图片客户端将公钥发给服务端

Linux系统中ssh远程管理服务_第10张图片

  登录连接

你可能感兴趣的:(linux,ssh,服务器)