Linux网络服务----SSH

文章目录

  • 一 、SSH服务
    • 1.1 什么是SSH服务器?
    • 1.2 常用的SSH软件的介绍
  • 二 、ssh的运用
    • 2.1 存放ssh服务端的配置文件
    • 2.2 ssh在Linux中的密码登录
    • 2.3 利用ssh协议传输文件和获取文件
    • 2.4 sftp远程访问操作
  • 三 、 ssh密钥登录操作
  • 四 、TCP_wapper的原理和运用
    • 4.1 TCP_wapper的原理
    • 4.2 设置黑白名单
  • 总结

一 、SSH服务

1.1 什么是SSH服务器?

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

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

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

和ssh一样的通信协议还有telnet(端口号23),和ssh不一样的是ssh是密文传输数据,而telnet则是铭文传输,所以相对而言ssh的安全性更高一点。

Linux网络服务----SSH_第1张图片

SSH优点
对通信数据进行加密处理,包括登录名称和登陆的密码,所以安全性很高

1.2 常用的SSH软件的介绍

SSH客户端:putty(开源工具),xshell,CRT

SSH服务端:openSSH(centos7系统默认安装)

centos7 ssh服务启动自检命令: systemctl is-enabled sshd

二 、ssh的运用

我们查看etc/ssh,发现有很多的文件,其中sshd_config 是服务端的配置文件,ssh_config 是客户端的配置文件

在这里插入图片描述

2.1 存放ssh服务端的配置文件

进入/etc/sshd_config文件

Linux网络服务----SSH_第2张图片

在这里插入图片描述

Linux网络服务----SSH_第3张图片

常用配置项:

#LoginGraceTime 2m            #登录验证时间为两分钟
#PermitRootLogin yes          #允许root用户登录(安全考虑,这里可以设置为no,禁止root用户登录)
#MaxAuthTries 6               #最大重试的次数为6
PasswordAuthentication yes    #允许空密码用户登录
UseDNS  no                    #禁止DNS反向解析,提高服务器的响应速度

2.2 ssh在Linux中的密码登录

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

远程连接192.168.5.129的root用户需要输入他的密码才可以完成登录,如果没有-p则设置默认的端口:22 (-p 用于指定端口号)
Linux网络服务----SSH_第4张图片

2.3 利用ssh协议传输文件和获取文件

scp [email protected]:/etc/passwd  /root/passwd10.txt    #下行复制,将远程主机中的etc/passwd文件复制到本机
scp -r /etc/ssh  [email protected]:/opt                 #上行复制,将本机的etc/ssh复制到远程主机,因为是复制目录所以要-r

如果有同名文件将会直接覆盖

下行复制:

Linux网络服务----SSH_第5张图片

上行复制:

Linux网络服务----SSH_第6张图片

进入另一个虚拟机查看opt目录下是否有复制的文件

在这里插入图片描述

2.4 sftp远程访问操作

sftp [-P] 用户@服务端IP (当默认端口改变时,可以用-P指定)

Linux网络服务----SSH_第7张图片

在这里插入图片描述

三 、 ssh密钥登录操作

配置密钥对验证

1、通过ssh-keygen工.具为当前用户创建密钥对文件。可用的加密算法为RSA、ECDSA或DSA等〈ssh-keygen命令的"-t"选项用于指定算法类型)。

useradd admin
echo "123123" l passwd --stdin admin 
su - admin
ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/admin/ .ssh/id_ecdsa):       #指定私钥位置,直接回车使用默认位置
created directory '/ home/ admin/ .ssh ' .                              #生成的私钥、公钥文件默认存放在宿主目录中的隐藏目录.ssh/下
Enter passphrase (empty for no passphrase) :                            #设置私钥的密码
Enter same passphrase again :                                           #确认输入
ls -l ~/ .ssh/id ecdsa*                                                 #id_ ecdsa是私钥文件,权限默认为600; id_ecdsa.pub是公钥文件,用来提供给SSH 服务器

2、使用ssh_cpoy-id的方式进行密钥设置

Linux网络服务----SSH_第8张图片

Linux网络服务----SSH_第9张图片

Linux网络服务----SSH_第10张图片

进行测试

Linux网络服务----SSH_第11张图片

四 、TCP_wapper的原理和运用

4.1 TCP_wapper的原理

TCP_Wrappers有一个TCP的守护进程叫作tcpd。以ssh为例,每当有ssh的连接请求时,tcpd即会截获请求,先读取系统管理员所设置的访问控制文件,符合要求,则会把这次连接原封不动的转给真正的ssh进程,由ssh完成后续工作;如果这次连接发起的ip不符合访问控制文件中的设置,则会中断连接请求,拒绝提供ssh服务。

Linux网络服务----SSH_第12张图片

4.2 设置黑白名单

Linux网络服务----SSH_第13张图片

/etc/hosts.allow 设置允许访问 tcp 服务程序的策略(白名单)

/etc/hosts.deny 设置禁止访问 tcp 服务程序的策略 (黑名单)

假设引用
只允许IP地址为192.168.5.129的用户访问sshd服务,其他地址被拒绝。

白名单设置:

vim /etc/hosts.allow
Linux网络服务----SSH_第14张图片

黑名单设置:

Linux网络服务----SSH_第15张图片

测试一下

192.168.5.129客户端
Linux网络服务----SSH_第16张图片

192.168.5.131客户端

在这里插入图片描述

总结

1、熟知ssh密钥生成的过程,用于对ssh访问的加密,符合更安全的远程控制标准
2、当我们获得一台新的服务器时,为了更安全,取消掉root用户的远程访问以及更换ssh的端口号。
3、ssh中有更高效的传输获取功能,可以加以利用。
4、TCP_Wrappers中的黑白名单,可以大量高效的设置可访问服务端的用户及其能够访问的服务。

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