linux的SSH(远程登录)服务

目录

1.SSH远程管理

1.1 SSH的概述

1.2 OpenSSH服务器

1.3 SSH端口、配置文件

2.服务端重要配置

3.登录验证方式

3.1 密码验证

3.2 密钥对验证

4.使用 SSH 客户端程序

4.1 ssh 远程登录

4.2 scp 远程复制 

4.3 sftp文件传输

5.创建使用密钥对

6.TCP Wrappers访问控制

6.1 概念

6.2 TCP Wrappers 保护机制的两种实现方式

6.3 TCP Wrappers 机制的访问原则


1.SSH远程管理

1.1 SSH的概述

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。
SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此SSH协议具有很好的安全性。
远程链接的两种方法:SSH   、Telnet

1.2 OpenSSH服务

SSH客户端:Putty、Xshell、CRT、MobaXterm
SSH服务端:OpenSSH

OpenSSH是实现SSH协议的开源软件项目,适用于各种UNIX、 Linux操作系统。Centos 7系统默认已安装OpenSSH相关软件包,并将sshd 服务添加为开机自启动。

1.3 SSH端口、配置文件

sshd服务默认使用TCP的22端口。

sshd服务的默认配置文件是/etc/ssh/sshd_config。

ssh_config和sshd_config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件/etc/ssh/ssh_config,后者则是针对服务端的配置文件/etc/ssh/sshd_config。

2.服务端重要配置

sshd服务使用的默认端口号为22,必要时建议修改此端口号,并指定监听服务的具体IP地址,以提高在网络中的隐蔽性。除此之外,SSH协议的版本选用V2比V1的安全性更好,禁用DNS反向解析可以提高服务器的响应速度。

vim /etc/ssh/sshd_config进入

当希望只允许或禁止某些用户登录时,可以使用AllowUsers或DenyUsers配置,两者用法相似(注意不要同时使用)。

3.登录验证方式

3.1 密码验证

以服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户机角度来看,正在连接的服务器有可能被假冒;从服务器角度来看,当遭遇密码穷举(暴力破解)攻击时防御能力比较弱。

3.2 密钥对验证

要求提供相匹配的密钥信息才能通过验证。通常先在客户机中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,大大增强了远程管理的安全性,且可用免交互登录。
公钥和私钥的关系:
●公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密。
●不能根据一个密钥来推算出另一个密钥。
●公钥对外公开,私钥只有私钥的持有人才知道。

4.使用 SSH 客户端程序

4.1 ssh 远程登录

ssh [-p 端口] 用户名@目标主机ip
-p:指定非默认的端口号,缺省时默认使用 22端口

ssh [-p 端口] 用户名@目标主机ip 命令
通过ssh命令登录到远程主机,执行完该命令后立即退出

4.2 scp 远程复制 

将目标主机的文件/目录复制到本机
scp [-P 端口]  (-r 复制目录情况下)用户@目标主机ip:目标路径文件 指定存放路径
于192.168.9.120中操作:复制192.168.9.110位置下/opt/qwe.txt文件到192.168.9.120位置下/opt目录

将本地文件/目录复制到指定主机
scp  [-P 端口] (-r 复制目录情况下)本地文件 用户@目标主机ip:目的路径
于192.168.9.120中操作:复制192.168.9.120位置下/opt/tan.txt文件到192.168.9.110位置下/opt/目录

4.3 sftp文件传输

由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高。操作语法sftp与ftp几乎一样。

sftp [-P 端口] 用户@目标主机ip
get下载,put上传

交互方式实现文件的上传下载


5.创建使用密钥对

ssh密钥对免交互登录两种方法

1.使用空密码的密钥对

2.创建ssh会话代理(只能在当前会话中有效)

6.TCP Wrappers访问控制

6.1 概念

TCP Wrappers(TCP封套) 是一个简单的防火墙机制。用来将TCP服务程序“包裹”起来,代为监听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。
大多数 Linux 发行版,TCP Wrappers 是默认提供的功能。rpm -q tcp_wrappers

如何判断是否支持 TCP Wrappers:执行命令 ldd $(which c程序名称) | grep libwrap

$()作用:提取括号内命令的结果

6.2 TCP Wrappers 保护机制的两种实现方式

1.直接使用 tcpd 程序对其他服务程序进行保护,需要运行 tcpd 程序。
2.由其他网络服务程序调用 libwrap.so.* 动态函数库,不需要运行 tcpd 程序。此方式的应用更加广泛,也更有效率。

访问策略

  • TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。

  • 对应的两个策略文件为/etc/hosts.allow 和/etc/hosts.deny,分别用来设置允许和拒绝的策略

格式
<服务程序列表>:<客户端地址列表>

(1)服务程序列表
ALL:代表所有的服务。
单个服务程序:如“vsftpd”。
多个服务程序组成的列表:如“vsftpd,sshd”。
(2)客户端地址列表
ALL:代表任何客户端地址。
LOCAL:代表本机地址。
多个地址以逗号分隔

允许使用通配符 “*” 和 “?” ,前者代表任意长度字符,后者仅代表一个字符
网段地址,如 “192.168.80.” 或者 192.168.80.0/255.255.255.0 (掩码只支持 netmask 的地址显示方式)
区域地址,如 “.benet.com”匹配 benet.com 域中的所有主机。
 

6.3 TCP Wrappers 机制的访问原则

1.首先检查/etc/hosts.allow文件,如果找到相匹配的策略,则允许访问;
否则继续检查/etc/hosts.deny文件,如果找到相匹配的策略,则拒绝访问;
如果检查上述两个文件都找不到相匹配的策略,则允许访问。


2.“允许所有,拒绝个别”
只需在/etc/hosts.deny文件中添加相应的拒绝策略

3.“允许个别,拒绝所有”
除了在/etc/hosts.allow中添加允许策略之外,还需要在/etc/hosts.deny文件中设置“ALL:ALL”的拒绝策略。

  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值