Linux网络服务----SSH

这篇具有很好参考价值的文章主要介绍了Linux网络服务----SSH。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 、SSH服务

1.1 什么是SSH服务器?

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

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

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

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

linux ssh,Linux网络,ssh,linux,服务器

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

1.2 常用的SSH软件的介绍

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

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

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

二 、ssh的运用

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

linux ssh,Linux网络,ssh,linux,服务器

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

进入/etc/ssh/sshd_config文件

linux ssh,Linux网络,ssh,linux,服务器

linux ssh,Linux网络,ssh,linux,服务器

linux ssh,Linux网络,ssh,linux,服务器

常用配置项:

#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,Linux网络,ssh,linux,服务器

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

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

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

下行复制:

linux ssh,Linux网络,ssh,linux,服务器

上行复制:

linux ssh,Linux网络,ssh,linux,服务器

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

linux ssh,Linux网络,ssh,linux,服务器

2.4 sftp远程访问操作

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

linux ssh,Linux网络,ssh,linux,服务器

linux ssh,Linux网络,ssh,linux,服务器

三 、 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,Linux网络,ssh,linux,服务器

linux ssh,Linux网络,ssh,linux,服务器

linux ssh,Linux网络,ssh,linux,服务器

进行测试

linux ssh,Linux网络,ssh,linux,服务器

四 、TCP_wapper的原理和运用

4.1 TCP_wapper的原理

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

linux ssh,Linux网络,ssh,linux,服务器

4.2 设置黑白名单

linux ssh,Linux网络,ssh,linux,服务器

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

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

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

白名单设置:

vim /etc/hosts.allow
linux ssh,Linux网络,ssh,linux,服务器

黑名单设置:

linux ssh,Linux网络,ssh,linux,服务器

测试一下

192.168.5.129客户端
linux ssh,Linux网络,ssh,linux,服务器

192.168.5.131客户端

linux ssh,Linux网络,ssh,linux,服务器

总结

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

到了这里,关于Linux网络服务----SSH的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux网络编程】网络编程套接字(TCP服务器)

    作者:爱写代码的刚子 时间:2024.4.4 前言:本篇博客主要介绍TCP及其服务器编码 只介绍基于IPv4的socket网络编程,sockaddr_in中的成员struct in_addr sin_addr表示32位 的IP地址 但是我们通常用点分十进制的字符串表示IP地址,以下函数可以在字符串表示和in_addr表示之间转换 字符串转in

    2024年04月14日
    浏览(53)
  • Linux服务器配置指南:网络、用户管理、共享服务及DNS配置详解

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 设置虚拟机的网卡为仅主机模式,并要求服务器采用双网卡, ens33 IP地址设置为192.168. 5.x/24(其中x学号),

    2024年02月05日
    浏览(40)
  • linux服务器监控之内存、cpu、网络、磁盘

    一、服务器实时内存监控 1、Linux帮助命令 man:Linux下的函数手册命令,可以查看所有命令的使用方法 ls:  ls -al: ll: 2、实时监控命令 top:   能够实时监控系统的运行状态,并且可以按照cpu及内存等进行排序。            语法:top -hv|-bcHiOSs -d secs -n max -u|U user -p pid(s) -o file

    2024年02月09日
    浏览(49)
  • Linux系统如何查看服务器带宽及网络使用情况

       操作系统: Linux    操作环境: Centos7   Linux系统中如何查看服务器带宽?本篇文章主要和大家分享一下Linux系统中查看服务器带宽的方法,有需要的朋友可以参考一下。 众多网络相关的命令可查看:【Linux】之【网络】相关的命令及解析[ethtool、nload、nethogs、iftop、

    2024年02月02日
    浏览(57)
  • Linux学习之网络编程3(高并发服务器)

    Linux网络编程我是看视频学的,Linux网络编程,看完这个视频大概网络编程的基础差不多就掌握了。这个系列是我看这个Linux网络编程视频写的笔记总结。 问题: 根据上一个笔记,我们可以写出一个简单的服务端和客户端通信,但是我们发现一个问题——服务器只能连接一个

    2024年02月01日
    浏览(36)
  • Linux系统如何查看服务器带宽及网络使用情况?

    要查看Linux服务器的带宽和网络使用情况,可以使用以下命令和工具: ifconfig命令:ifconfig命令用于显示和配置网络接口信息,包括带宽和网络使用情况。 使用以下命令查看所有网络接口的信息: 该命令将显示每个网络接口的详细信息,包括接收和发送的数据包数量以及网络

    2024年02月16日
    浏览(41)
  • Linux网络编程:多进程 多线程_并发服务器

    文章目录: 一:wrap常用函数封装 wrap.h  wrap.c server.c封装实现 client.c封装实现 二:多进程process并发服务器 server.c服务器 实现思路 代码逻辑  client.c客户端 三:多线程thread并发服务器 server.c服务器 实现思路 代码逻辑  client.c客户端 ​​​​   read 函数的返回值 wrap.h  wrap

    2024年02月12日
    浏览(44)
  • Linux网络编程:线程池并发服务器 _UDP客户端和服务器_本地和网络套接字

    文章目录: 一:线程池模块分析 threadpool.c 二:UDP通信 1.TCP通信和UDP通信各自的优缺点 2.UDP实现的C/S模型 server.c client.c 三:套接字  1.本地套接字 2.本地套 和 网络套对比 server.c client.c threadpool.c   server.c client.c server.c client.c

    2024年02月11日
    浏览(43)
  • Linux高性能服务器编程 学习笔记 第五章 Linux网络编程基础API

    我们将从以下3方面讨论Linux网络API: 1.socket地址API。socket最开始的含义是一个IP地址和端口对(ip,port),它唯一表示了使用TCP通信的一端,本书称其为socket地址。 2.socket基础API。socket的主要API都定义在sys/socket.h头文件中,包括创建socket、命名socket、监听socket、接受连接、发

    2024年02月07日
    浏览(42)
  • Linux系统下如何查看服务器的带宽和网络使用情况

    要在Linux系统下查看服务器的带宽和网络使用情况,可以使用一些命令行工具和系统工具来获取相关信息。下面将介绍几种常用的方法。 使用ifconfig命令 ifconfig命令可以用来查看网络接口的配置和状态信息,包括接口的IP地址、MAC地址、传输速率等。要查看服务器的带宽和网络

    2024年02月08日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包