远程登录--SSH 你值得拥有

news2024/9/21 7:04:52

目录

一:SSH服务详解

1.什么是SSH

2.SSH服务认证类型

1)基于口令认证

2)基于密钥认证

3.SSH安装

二: 配置ssh服务端

1.ssh配置文件

2. ssh配置文件主要条目介绍

 三:使用ssh客户端程序

1.使用ssh命令远程登录

​2.使用scp远程复制

(1)下行复制试例

(2)上行复制试例

 3.sftp安全FTP

四:配置密钥对验证

 五:TCP_wapper的原理和运用

1.TCP_wapper的工作原理

2.TCP_wapper的保护机制的两种实现机制

 3.TCP_Wrappers的运用

(1)设置白名单

(2)设置黑名单

总结:


一:SSH服务详解

1.什么是SSH

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理它默认使用22号端口采用密文的形式在网络中传输数据,它将客户端与服务端之间的消息通过加密保护起来,这样就无法被窃取或篡改了。相对于通过明文传输的Telnet,具有更高的安全性。

2.SSH服务认证类型

SSH提供了口令和密钥两种用户验证方式,这两者都是通过密文传输数据的。

1)基于口令认证

基于口令的安全验证的方式就是使用服务器中系统帐号对应的密码,只要知道服务器的SSH连接帐号和口令(当然也要知道对应服务器的 IP及开放的 SSH端口,默认为22 ),就可以通过 ssh客户端登录到这台远程主机。这要求输入的密码具有足够的复杂度才能具有更高的安全性(口令认证会受到“中间人”这种方式的攻击)。

2)基于密钥认证

基于密钥的安全验证必须为用户创建一对密钥(公钥和私钥),并把公钥放在需要访问的SSH服务器上,私钥存放在ssh客户端。当需要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求使用客户端的密钥进行安全验证。服务器收到请求之后,先在该用户的根目录下寻找公钥,然后把它和发送过来的公钥进行比较。如果两个密钥一致,服务器就用公钥加密“质询”,并把它发送给客户端软件。客户端收到质询之后,就可以用本地的私钥解密再把它发送给服务器。这种方式是相当安全的。

3.SSH安装

在RHEL或CENTOS系统中,OPENSSH服务由openssh、openssh-server、openssh-clients等软件包提供(默认已经安装)。

openssh:包含OpenSSH服务器及客户端需要的核心文件

openssh-clients:OpenSSH客户端软件包

openssh-server:OpenSSH服务器软件包

服务名:sshd
服务端主程序:/usr/sbin/sshd
客户端程序:/usr/bin/ssh
服务端主配置配置文件:/etc/ssh/sshd_config
客户端配置文件:/etc/ssh/ssh_config

二: 配置ssh服务端

1.ssh配置文件

sshd服务的配置文件默认位于/etc/ssh/sshd_config,正确调整相关配置项,可以进一步提高sshd远程登录的安全性

2. ssh配置文件主要条目介绍

(1)Port 22   

监听的端口(默认22),也可以使用多个Port,即重复使用 Port 这个配置项。

#例如想要开放sshd端口为 22和222,则添加如下内容

Port 22      Port 222

 (2)ListenAddress  0.0.0.0   监听的IP地址(默认监听所有IP)

设置sshd服务器绑定的IP地址,0.0.0.0 表示侦听所有地址, 这个值可以写成本地IP地址也可以写成所有地址。

 (3)SyslogFacility AUTHPRIV

当有人使用 SSH 登入系统的时候,SSH 会记录信息,这个信息要记录的类型为AUTHPRIV。

sshd服务日志存放在: /var/log/secure

 (4)LogLevel  INFO  日志记录的等级!INFO级别以上。 

(5)UseDNS   no    

禁用dns反向解析,一般来说,为了要判断客户端来源是正常合法的,因此会使用DNS去反查客户端的主机名,不过如果是在内网互连,设定为 no 会让联连接速度比较快。

(6)PermitRootLogin  no    禁止ROOT用户远程登录 

禁止root用户远程登录后,无法再登录 

 (7)PermitEmptyPasswords  no   禁止密码为空的用户远程登录

允许 密码为空用户登录后,将无密码验证 

(8)LoginGraceTime  2m  

限制用户登录验证过程的时间(默认为2分钟),即在多久时间内没有成功连上 SSH server 就强迫断线!若无单位则默认时间为秒。可以根据实际情况来修改实际

 (9)MaxAuthTries  6     限制用户登录验证过程的最大重试次数  

超过最大重试次数,将断开连接 

 (10)PubkeyAuthentication   yes     是否启用密钥对验证 

 (11)PasswordAuthentication   yes   是否启用密码验证

 (12)AuthorizedKeysFile    .ssh/authorized_keys   

 指定保存各用户公钥内容的数据文件位置,默认保存用户公钥信息的文件位于(服务器某个用户宿主目录下的)

 (13) PrintLastLog  yes    显示上次登入的信息,如上次登入的时间、地点等等,默认是yes

 (14)PrintMotd  yes  登入后是否显示出一些信息,即打印出 /etc/motd这个文档的内容。

 三:使用ssh客户端程序

1.使用ssh命令远程登录

方式1: ssh 用户名@服务器地址
方式2: ssh -l 用户名  服务器地址
方式3: ssh  服务器地址(缺省时会尝试以当前的本地用户名进行登录)
提示:如果SSH服务器使用非默认端口,则客户机在登录时必须时确指定端口号
ssh   -p  端口   用户名@服务器地址

拓展:
[root@localhost opt]# ssh 192.168.231.100 ifconfig
#远程登录该ip主机执行ifconfig命令后退出

 

 2.使用scp远程复制

下行复制
scp root@192.168.80.11:/etc/passwd /root/passwd10.txt#将远程主机中的/etc/passwd文件复制到本机

上行复制
scp -r /etc/ssh/ root@192.168.80.10:/opt      #将本机的/etc/ssh目录复制到远程主机

(1)下行复制试例

主机1创建文件和目录 

 主机2将主机1的文件复制到本机目录下

(2)上行复制试例

主机2将本地/etc/ssh/复制到主机1的opt目录下 

 主机1在opt目录下查看主机2的目录已复制到本机

 3.sftp安全FTP

由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高。

四:配置密钥对验证

1.在客户端创建创键密钥对,在自己的家目录.ssh中生成密钥

通过ssh-keygen工具为当前用户创建密钥对文件。可用的加密算法为RSA、ECDSA或DSA等(ssh-keygen命令的“-t”选项用于指定算法类型)。
useradd admin
echo "123123" | passwd --stdin admin
su - admin

ssh-keygen -t rsa
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 服务器



[root@192 ~]# cd /root/.ssh
[root@192 .ssh]# ls
id_rsa  id_rsa.pub

 

 2.将公钥文件上传至服务器

[root@192 .ssh]# scp id_rsa.pub root@192.168.231.100:/opt  #将文件复制到目标主机目录下

切换到服务端查看 

3. 在服务器中导入公钥文件

方法1:
[root@192 ~]# mkdir /root/.ssh/
[root@192 ~]# cd /opt
[root@192 opt]# vim /root/.ssh/authorized_keys

方法2:
ssh-copy-id -i 公钥文件 用户@服务端IP

 4.客户端登录测试

(1)客户端正常输入密码登录

(2)客户端设置ssh代理功能,实现免交互登录(只对当前会话有效)

[root@192 ~]# ssh-agent bash
[root@192 ~]# ssh-add


 五:TCP_wapper的原理和运用

1.TCP_wapper的工作原理

TCP_Wrappers是一个工作在第四层(传输层)的的安全工具,对有状态连接(TCP)的特定服务进行安全检测并实现访问控制,界定方式是凡是调用libwrap.so库文件的的程序就可以接受TCP_Wrappers的安全控制。它的主要功能就是控制谁可以访问,常见的程序有rpcbind、vsftpd、sshd,telnet。

2.TCP_wapper的保护机制的两种实现机制

(1)直接使用tcpd程旭对其他服务程序进行保护,需要运行tcpd程序。

(2)由其他网络服务程序调用libwrap.so.*链接库,不需要运行tcpd程序。此方式的应用更加广泛,也更有效率。

使用 ldd 命令可以查看程序libwrap.so.*链接库

ldd $(which ssh)
[root@localhost ~]# ldd $(which sshd)|grep wrap

 

 3.TCP_Wrappers的运用

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

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

(1)设置白名单

vim   /etc/hosts.allow 
 
 sshd:ip地址     #允许该用户访问

 (2)设置黑名单

vim  /etc/hosts.deny
 
sshd:ALL        #不允许任何人访问

总结:

黑名单和白名单的设置原理:先看 hosts.allow 文件中的设置,匹配上则直接放通,如果没有匹配则 再去看 hosts.deny 文件中的设置,匹配上则禁止/拒绝访问指定的tcp服务程序,如果也没有匹配上则默认允许放通

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/458479.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

8086汇编之DIV除法指令

2023年4月22日,周六晚上。 今晚写汇编作业的时候,遇到了DIV指令,于是把学到的知识记录成一篇博客。此外,刚刚已经写了一篇关于MUL指令的博客了。 除数有8位和16位种,存放在寄存器或者内存中。 当除数为8位&#xff1a…

Linux离线状态下的Anaconda安装与Python环境创建

1 下载与安装说明 下载 下载地址:https://repo.anaconda.com/archive/版本:此处以版本为2020.11的anaconda作示例,其携带的python版本为3.8.5。下载:在上述链接查找下载 Anaconda3-2020.11-Linux-x86_64.sh 文件,也可以…

时序预测 | MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆网络时间序列预测

时序预测 | MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆网络时间序列预测 目录 时序预测 | MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆网络时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆网络时间序列预测 基于鲸鱼…

图论-匈牙利算法学习

本文讲述的是匈牙利算法,即图论中寻找最大匹配的算法。解决的问题是从二分图中找到尽量多的匹配。 原题-华为-HJ28 素数伴侣 描述 题目描述 若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用…

【Vue】学习笔记-初始化脚手架

初始化脚手架 初始化脚手架说明具体步骤脚手架文件结构 初始化脚手架 说明 Vue脚手架是vue官方提供的标准化开发工具(开发平台)最新版本是4.x文档Vue CLI 具体步骤 如果下载缓慢请配置npm淘宝镜像 npm config set registry http://registry.npm.taoba…

有关态势感知(SA)的卷积思考

卷积是一种数学运算,其本质是将两个函数进行操作,其中一个函数是被称为卷积核或滤波器的小型矩阵,它在另一个函数上滑动并产生新的输出。在计算机视觉中,卷积通常用于图像处理和特征提取,它可以通过滤波器对输入图像进…

《Spring MVC》 第六章 MVC类型转换器、格式化器

前言 介绍MVC类型转换器、格式化器 1、使用场景 <form th:action"{/user/register}" method"post">用户名&#xff1a;<input type"text" name"userName"/><br/>密码&#xff1a;<input type"password&q…

对于Ubuntu服务器杀毒的一次记录

概述&#xff1a;叮咚&#xff01;您的主机有异常登录地&#xff0c;登录ip来自人类文明的标杆美丽国的加利福尼亚州&#xff0c;请注意排查。可恶的老美啊&#xff0c;又来入侵我华夏主机了&#xff0c;美帝亡我之心不死啊&#xff08;当然也有可能是境内中国人通过VPN操作境外…

【搭建博客】宝塔面板部署Typecho博客,并发布上线访问

目录 前言 1.安装环境 2.下载Typecho 3.创建站点 4.访问Typecho 5.安装cpolar 6.远程访问Typecho 7.固定远程访问地址 8.配置typecho 前言 Typecho是由type和echo两个词合成的&#xff0c;来自于开发团队的头脑风暴。Typecho基于PHP5开发&#xff0c;支持多种数据库&…

让chatgpt给我做个项目预算,感觉这样的项目预算才有的赚

访问入口来自于以下网站&#xff1a; 无极低码-三维可视化,免费资源下载,气象数据,编程技术,java开发,素材下载,大数据,解决方案,方案,ppt,5G,数字孪生三维可视化,免费资源下载,气象数据,编程技术,java开发,素材下载,大数据,解决方案,方案,ppt,5G,数字孪生https://wheart.cn/ …

分享几个国内免费的ChatGPT镜像网址(亲测有效-4月25日更新)

最近由于ChatGPT的爆火也让很多小伙伴想去感受一下ChatGPT的魅力&#xff0c;那么今天就分享几个ChatGPT国内的镜像网址&#xff0c;大家可以直接使用&#xff01;记得点赞收藏一下呦&#xff01; 1、AQ Bot&#xff0c;网址&#xff1a;点我 https://su.askaiw.com/aq 缺点&…

数据结构与算法(三):数论(树形结构、二叉树、二叉搜索树、红黑树、BtreeB+Tree、赫夫曼树、堆树)

数论&#xff08;树形结构、二叉树、二叉搜索树、红黑树、Btree、BTree、赫夫曼树、堆树&#xff09; 树形结构概念 在树形结构里面重要的术语&#xff1a; 结点&#xff1a;树里面的元素。 父子关系&#xff1a;结点之间相连的边 子树&#xff1a;当结点大于1时&#xff0…

服务(第十一篇)LVS-NAT模式

什么是群集&#xff1f; 多台主机组成的一个整体&#xff0c;提供一个ip访问通道&#xff0c;所有的主机干一件事 提供同样的服务。 群集有哪些类型&#xff1f; ①负载均衡群集&#xff08;LB&#xff09;&#xff1a; 提高系统的响应能力&#xff0c;处理更多的访问请求&a…

VideoPose3D:基于视频的3D人体关键点检测

1. 概述 Dario Pavllo等人于2019年提出了VideoPose3D模型&#xff0c;旨在把输入视频转换成人体各关键点相对于根关节的相对三维位置。为了实现这一目的&#xff0c;作者采取的是两步走的策略。首先要利用现成的2D姿态检测算法提取出视频各帧里人体各关键点的2D坐标&#xff0…

Bilibili 网页版下载视频 B站下载MP4格式视频(不用下载工具)

博主是为了给家里老人下载戏曲&#xff0c;一开始是单个单个解析然后下载&#xff0c;想多下载一些&#xff0c;然后用了批量方法下载很好用 通过网页版解析工具 解析单个视频 获得下载地址 复制视播放地址&#xff0c;如&#xff0c;复制播放视频时&#xff0c;上方的地址 然…

校园最热微信小程序——校园表白墙之我想对你说(青春感人系列)

校园最热微信小程序——校园表白墙之我想对你说&#xff08;青春感人系列&#xff09; 注&#xff1a;想要快速了解可以直接跳转到小程序视频展示&#xff08;手机用户可能打不开视频&#xff0c;电脑用户是可以打开视频的&#xff09;&#xff0c;手机用户可以打开我的主页里面…

系统运维(Kubernetes篇)

Kubernetes(k8s) 前言 ​ 在学习过程中&#xff0c;我们经常会遇到遗忘的问题。为了避免忘记&#xff0c;多复习是非常必要的。复习可以帮助我们巩固知识&#xff0c;加深记忆&#xff0c;提高学习效率。因此&#xff0c;我们应该养成良好的复习习惯&#xff0c;定期回顾所学…

猿创征文|“云“创新展望:数据之浩瀚

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; AWS–全球云计算领导者 AWS亚马逊云科技提供全球覆盖广泛、服务深入的云平台&#xff0c;全球数据中心提供超过 200 项功能齐全的服务 连续 11 年被 Gartner 评为&quo…

【JUC高并发编程】—— 了解JUC

一、集合的线程安全 ArrayList 线程不安全 通过代码演示 ArrayList 集合的线程不安全问题 package com.atguigu.lock;import java.util.ArrayList; import java.util.List; import java.util.UUID;/*** author Bonbons* version 1.0* 演示List集合线程不安全问题*/ public cl…