Linux远程管理—SSH协议

2024-08-28 16:04
文章标签 linux 协议 ssh 远程管理

本文主要是介绍Linux远程管理—SSH协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SSH协议是远程连接的安全性协议,该协议可以有效防止远程管理过程中的信息泄漏,是西安传输数据加密,能够防止DNS和IP欺骗,传输数据压缩,加快传输速度。

安全验证方法有口令验证和密钥验证两种实现手段,该协议在Linux和Mac系统中内置,Windows则需要手动安装。

连接方法

使用ssh 用户名@IP地址的方式进行远程连接,示例如下图:
ssh远程连接
连接命令后可加指令,获得返回结果,完成后自动断开连接;-p端口号通过指定端口远程连接。

远程文件管理

通过scp工具实现,scp -r递归复制 -p保留文件属性 本地目录 用户名@IP:目的地址将本地文件复制到远程主机上,scp -r递归复制 -p保留文件属性 用户名@IP:目的地址 本地目录 将远程主机文件复制到本地。

ssh自带了sftp功能,建立连接后可通过getput方法传输文件,示例如下图:
sftp获取文件

配置文件

ssh协议的配置文件存储在/etc/ssh/sshd_config文件中,其中大部分设置默认为注释状态,需要手动配置,一些常用设置如下:

Port 22								默认的sshd服务端口
ListenAddress 0.0.0.0				设定sshd服务器监听的IP地址
Protocol 2							SSH协议的版本号
HostKey /etc/ssh/ssh_host_key		SSH协议版本为1时,DES私钥存放的位置
HostKey /etc/ssh/ssh_host_rsa_key	SSH协议版本为2时,RSA私钥存放的位置
HostKey /etc/ssh/ssh_host_dsa_key	SSH协议版本为2时,DSA私钥存放的位置
PermitRootLogin yes					设定是否允许root管理员直接登录
StrictModes yes						当远程用户的私钥改变时直接拒绝连接
MaxAuthTries 6						最大密码尝试次数
MaxSessions 10						最大终端数
PasswordAuthentication yes			是否允许密码验证
PermitEmptyPasswords no				是否允许空密码登录(很不安全)
PubkeyAuthentication				是否允许密钥登录

密钥验证

基于非对称加密理论,采取公钥加密私钥解密的方式进行验证,我们首先需要生成密钥对,通过ssh-keygen命令即可实现,然后使用ssh-copy-id 目的地址命令,将公钥发送给远程主机,
创建并发送密钥
然后将远程主机配置文件中允许密钥登录设置为yes,并将密码登录设置为no,然后使用主机直接连接,可见如下提示:
密钥登录成果
并没有输入密码而直接登录成果。

我们使用的远程管理工具mobaxterm中同样可以设置密钥登录,在工具中的密钥生成器可以生成密钥,如下图:
密钥生成器
该密钥生成借助鼠标移动作为随机参数,增大安全性,但安装不要傻等,得没事动动鼠标。

随后就获得了密钥对:
获得密钥对
随后手动在.ssh目录下新建authorized_keys文件,并将密钥复制到其中,然后在会话的高级工具中选择使用私钥进行连接
选择私钥选项

总结

ssh是用于安全远程连接的协议,借助该协议可以实现远程操作和文件传输功能,安全验证有口令和密钥两种手段。

这篇关于Linux远程管理—SSH协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115228

相关文章

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变