Linux中SSH远程管理服务

SSH(Secure Shell)是一种用于远程登录和管理Linux系统的安全协议,通过加密确保数据传输的安全性和防止信息泄露。本文详细介绍了SSH协议、OpenSSH服务器及其配置,包括SSH服务端与客户端的组件,以及如何实现免密登录。重点讨论了SSH服务端的配置,如修改端口号、设置白名单和最佳实践,旨在提升服务器的安全性。
摘要由CSDN通过智能技术生成

目录

1.SSH服务

         1.1 SSH协议介绍

1.2 SSH的优点

1.3 SSH客户端与服务端

1.4 SSH原理

2、OpenSSH服务器

2.1OpenSSH简介

2.2 SSH服务端

2.3 SSH客户端

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.数据传输是加密的,可以防止信息泄漏;

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

1.3 SSH客户端与服务端

客户端

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

    2. windows客户端:xshellt,MobaXterm,putty,securecrt,ssh secu   

 

服务端

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

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

1.4 SSH原理

 1.公钥首次连接原理

(1)客户端发起链接请求;

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

(3)客户端生成密钥对;

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

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

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

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

2.登录

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

    1. ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port(端口号)

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

2. ssh -l [远程主机用户名] [远程服务器主机名或IP 地址] -p 远程服务器port ;

3.ssh -t 中间主机IP ssh 目标主机IP。

2、OpenSSH服务器

2.1OpenSSH简介

服务名称: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服务端

1.配置文件:/etc/ssh/sshd_config 

[root@localhost ~]# vim /etc/ssh/sshd_config
#Port 22//默认端口号
#AddressFamily any
#ListenAddress 0.0.0.0 //监听地址设置SSHD服务器绑定的IP址,0.0.0.O表示侦听所有地址安全建议,如果主机不需要从公网ssh访间,可以把监听址改为内网地址这个值可以写成本地工P地址,也可以写成所有地址,剧0.0.0.0表示所有IP
#LoginGraceTime 2m //如果用户登录失败,在切断链接前服务器需要等待时间,单位为秒
#PermitRootLogin yes//默认允许root用户登录,ubantu不允许root远程ssh登录
#StrictModes yes//检查.ssh/文件的所有者,权限等
#MaxAuthTries 6//设置最多失败尝试登陆6次
#MaxSessions 10//同一时间最多允许10个远程连接
#PubkeyAuthentication yes//基于key验证
#PermitEmptyPasswords no//禁止空密码用户登录
PasswordAuthentication yes//基于用户和密码连接 ​
#UseDNS no//禁用DNS反向解析,提高速度可设置为no 

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

  将端口号该为27

 

到客户端去连接 

 

3.设置白名单

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

    AllowUsers zhangsan@192.168.156.110  lhf 只允许192.168.156.10主机使用本机的zhangsan用户登录访问,允许lhf从所有地址访问。

将本机IP192.168.156.110添加进入/etc/ssh/sshd_config ,设成白名单

重启服务 

 

主机192.168.156.10使用zhangsan用户登录192.168.156.110

 

4.设置黑名单

 

5.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.经常分析日志分离。

2.3 SSH客户端

1. scp--远程安全复制

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

 

 

2.sftp--安全ftp上载

格式:sftp  用户名@ip

本机192.168.156.110

 

另一台主机192.168.156.10

 

3.免密登录

  (1)客户端生成密钥

(2)客户端将公钥发给服务端 

 

(3)登录连接

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值