当前位置: 首页 > news >正文

【Linux命令详解 | ssh命令】 ssh命令用于远程登录到其他计算机,实现安全的远程管理

在这里插入图片描述


文章标题

  • 简介
  • 一,参数列表
  • 二,使用介绍
    • 1. 连接远程服务器
    • 2. 使用SSH密钥登录
      • 2.1 生成密钥对
      • 2.2 将公钥复制到远程服务器
    • 3. 端口转发
      • 3.1 本地端口转发
      • 3.2 远程端口转发
    • 4. X11转发
    • 5. 文件传输与远程命令执行
      • 5.1 文件传输
        • 5.1.1 从本地向远程传输文件
        • 5.1.2 从远程服务器下载文件
      • 5.2 远程命令执行
        • 5.2.1 在远程服务器上执行单个命令
        • 5.2.2 在远程服务器上执行脚本
    • 6. SSH配置和安全性增强
      • 6.1 修改SSH配置文件
      • 6.2 使用多因素认证
      • 6.3 配置防火墙规则
      • 6.4 禁用Root登录
  • 总结


简介

在编程和系统管理领域,远程管理是一项至关重要的任务。SSH(Secure Shell)命令是一种加密的网络协议,它提供了一种安全的方式,使您能够在不同的计算机之间进行远程连接和管理。通过使用SSH命令,您可以在远程计算机上执行命令、传输文件以及进行安全的远程登录。SSH的加密特性使其成为保护数据和系统安全的理想选择。

一,参数列表

以下表格列出了SSH命令的常用参数及其功能:

参数功能
-l <username>指定登录的用户名
-p <port>指定远程SSH服务器端口(默认为22)
-i <identity>指定用于身份验证的私钥文件
-C启用压缩以加速数据传输
-X开启X11转发,允许远程显示GUI界面
-L <local:remote>创建本地端口转发
-R <remote:local>创建远程端口转发

二,使用介绍

1. 连接远程服务器

要连接到远程服务器,您可以使用以下命令:

ssh -l username hostname

其中,username是您要登录的远程服务器的用户名,hostname是服务器的主机名或IP地址。执行此命令后,系统将提示您输入密码,验证后即可登录。

2. 使用SSH密钥登录

使用SSH密钥对进行身份验证比使用密码更加安全和方便。以下是使用SSH密钥登录的步骤:

2.1 生成密钥对

在本地计算机上执行以下命令生成密钥对:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/mykey

这将生成一个名为mykey的RSA密钥对,保存在~/.ssh/目录中。

2.2 将公钥复制到远程服务器

执行以下命令将公钥复制到远程服务器,替换usernamehostname

ssh-copy-id -i ~/.ssh/mykey.pub username@hostname

现在您可以使用私钥连接到远程服务器,而无需输入密码:

ssh -i ~/.ssh/mykey username@hostname

3. 端口转发

SSH还支持端口转发,允许您在本地和远程主机之间建立安全的通信通道。以下是两种常见的端口转发方式:

3.1 本地端口转发

通过本地端口转发,您可以将本地计算机上的某个端口映射到远程服务器上。例如,以下命令将本地计算机的端口8080映射到远程服务器的端口80:

ssh -L 8080:localhost:80 username@hostname

3.2 远程端口转发

通过远程端口转发,您可以将远程服务器上的某个端口映射到本地计算机上。例如,以下命令将远程服务器的端口3306(MySQL)映射到本地计算机的端口3306:

ssh -R 3306:localhost:3306 username@hostname

4. X11转发

SSH还允许您在远程计算机上显示GUI应用程序。要启用X11转发,只需在连接时添加-X参数:

ssh -X username@hostname

这将允许您在远程会话中打开图形界面应用程序,并将其显示在本地计算机上。

5. 文件传输与远程命令执行

SSH命令不仅可以用于远程登录,还可以进行文件传输和远程命令执行。下面将介绍如何使用SSH命令进行这些操作。

5.1 文件传输

5.1.1 从本地向远程传输文件

您可以使用scp命令将本地文件传输到远程服务器。以下示例将本地文件file.txt传输到远程主机的/tmp目录:

scp file.txt username@hostname:/tmp

5.1.2 从远程服务器下载文件

使用scp命令也可以从远程服务器下载文件到本地计算机。以下示例将远程服务器上的/path/to/remote/file.txt文件下载到本地当前目录:

scp username@hostname:/path/to/remote/file.txt .

5.2 远程命令执行

5.2.1 在远程服务器上执行单个命令

使用SSH命令,您可以在远程服务器上执行单个命令,而无需登录到远程主机。以下示例演示如何在远程服务器上列出/tmp目录的内容:

ssh username@hostname ls /tmp

5.2.2 在远程服务器上执行脚本

您还可以将本地脚本传输到远程服务器并在远程主机上执行。以下步骤演示了如何实现:

  1. 传输本地脚本到远程服务器:
scp script.sh username@hostname:/path/to/remote/
  1. 在远程服务器上执行脚本:
ssh username@hostname /path/to/remote/script.sh

6. SSH配置和安全性增强

SSH命令的安全性和功能可以通过配置文件进行定制和增强。以下是一些常见的配置和安全性增强方法:

6.1 修改SSH配置文件

SSH的配置文件位于/etc/ssh/sshd_config(服务器端)和~/.ssh/config(客户端)。您可以通过修改这些文件来定制SSH的行为,如更改端口、禁用密码登录等。

6.2 使用多因素认证

为了增加安全性,您可以启用多因素认证(MFA)来登录到远程服务器。MFA需要用户提供多个身份验证因素,如密码和验证码。通常使用Google AuthenticatorDuo Security等工具实现MFA。

6.3 配置防火墙规则

使用防火墙来限制远程SSH访问。可以配置防火墙规则,仅允许特定IP地址范围的计算机访问SSH端口。

6.4 禁用Root登录

禁用Root用户直接通过SSH登录,以减少风险。您可以通过修改SSH配置文件中的PermitRootLogin选项来实现。

总结

SSH命令是远程管理、文件传输和安全通信的强大工具。通过掌握SSH命令的各种功能和配置选项,您可以更有效地进行远程系统管理,保护数据的安全性,以及确保系统的稳定性。了解和使用SSH命令将使您在编程和系统管理领域更具竞争力,为您的工作带来巨大便利和安全性。

相关文章:

【Linux命令详解 | ssh命令】 ssh命令用于远程登录到其他计算机,实现安全的远程管理

文章标题 简介一&#xff0c;参数列表二&#xff0c;使用介绍1. 连接远程服务器2. 使用SSH密钥登录2.1 生成密钥对2.2 将公钥复制到远程服务器 3. 端口转发3.1 本地端口转发3.2 远程端口转发 4. X11转发5. 文件传输与远程命令执行5.1 文件传输5.1.1 从本地向远程传输文件5.1.2 …...

IP 地址监控工具

地址监控实用程序是一套 IP 工具&#xff0c;包括 IP 地址监控工具、流氓检测工具和 MAC 地址解析器&#xff0c;用于日常监控和管理 DNS 名称、IP和 MAC 地址。地址监控工具用于 IP监控&#xff0c;用于管理 DNS 名称、网络的 IP 和 MAC 地址&#xff0c;并跟踪 IP 地址。 IP…...

基于OpenCV的人脸识别和模型训练系统(万字详解)

前言 我们身边的人脸识别有车站检票&#xff0c;监控人脸&#xff0c;无人超市&#xff0c;支付宝人脸支付&#xff0c;上班打卡&#xff0c;人脸解锁手机。 人脸检测是人脸识别系统组成的关键部分之一&#xff0c;其目的是检测出任意给定图片中的包含的一个或多个人脸&#…...

Docker容器与虚拟化技术:Docker镜像创建、Dockerfile实例

目录 一、理论 1.Docker镜像的创建方法 2.Docker镜像结构的分层 3.Dockerfile 案例 4.构建Systemctl镜像&#xff08;基于SSH镜像&#xff09; 5.构建Tomcat 镜像 6.构建Mysql镜像 二、实验 1.Docker镜像的创建 2. Dockerfile 案例 3.构建Systemctl镜像&#xff08;…...

每天一道leetcode:646. 最长数对链(动态规划中等)

今日份题目&#xff1a; 给你一个由 n 个数对组成的数对数组 pairs &#xff0c;其中 pairs[i] [lefti, righti] 且 lefti < righti 。 现在&#xff0c;我们定义一种 跟随 关系&#xff0c;当且仅当 b < c 时&#xff0c;数对 p2 [c, d] 才可以跟在 p1 [a, b] 后面…...

651页23万字智慧教育大数据信息化顶层设计及建设方案WORD

导读&#xff1a;原文《651页23万字智慧教育大数据信息化顶层设计及建设方案WORD》&#xff08;获取来源见文尾&#xff09;&#xff0c;本文精选其中精华及架构部分&#xff0c;逻辑清晰、内容完整&#xff0c;为快速形成售前方案提供参考。 目录 一、 方案背景 1.1 以教育…...

Vue3 使用json编辑器

安装 npm install json-editor-vue3 main中引入 main.js 中加入下面代码 import "jsoneditor";不然会有报错&#xff0c;如jsoneditor does not provide an export named ‘default’。 图片信息来源-github 代码示例 <template><json-editor-vue class…...

centos7 docker离线安装教程

centos7 docker离线安装教程 离线安装包下载# docker离线安装时需要两个安装包&#xff1a;selinux包、docker包&#xff0c; 下载地址&#xff1a; https://download.docker.com/linux/centos/7/x86_64/stable/Packages/selinux包下载 https://download.docker.com/linux/…...

解决爬虫上下行传输效率问题的实用指南

嗨&#xff0c;大家好&#xff01;作为一名专业的爬虫程序员&#xff0c;我们经常会面临上下行传输效率低下的问题。在处理大量数据时&#xff0c;如果传输效率不高&#xff0c;可能会导致爬虫任务速度慢&#xff0c;甚至中断。今天&#xff0c;我将和大家分享一些解决爬虫上下…...

Vue2入门学习汇总

1.介绍及安装 1.1 介绍 Vue是一套构建用户界面的渐进式框架。Vue只关注视图层&#xff0c;采用自底向上增量开发的设计。Vue的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。 学习vue之前主要掌握的知识&#xff1a;HTML、CSS、JavaScript、TypeScript …...

收支明细高效管理,轻松查看和统计时间段内的开销收支明细!

亲爱的用户们&#xff0c;您是否经常需要查看某一时间段内的所有开销和收支明细&#xff0c;并进行自动统计和分析&#xff1f;现在&#xff0c;我们为您带来一款智能财务管家&#xff0c;让您轻松管理财务&#xff01; 首先&#xff0c;我们要进入晨曦记账本主页面&#xff0…...

c++ 成绩统计

Q&#xff1a; 有一个二维表格数据&#xff0c;它的值全部是整数&#xff0c;其中存储了若干个选手参与5分钟汉字输入比赛的成绩。数据中每一行是一条记录&#xff0c;每条记录包含两个整数&#xff0c;第1个整数为选手编号&#xff0c;它应该是一个4位整数&#xff1b;第2个整…...

PostgreSQL-UDF用户自定义函数-扩展插件

目录 PostgreSQL-UDF用户自定义函数-扩展插件零、前置条件一、创建 .c 和 .sql 文件创建.c文件创建.sql文件 二、创建 .control 和 Makefile 文件创建 .control 文件创建 Makefile 文件 三、编译 & 链接四、psql&#xff08;或者其他PG backend&#xff09;中创建扩展 Post…...

接口测试及接口抓包常用测试工具和方法?

作为测试领域中不可或缺的一环&#xff0c;接口测试和抓包技术在软件开发过程中扮演着至关重要的角色。不论你是新手还是有一些经验的小伙伴&#xff0c;本篇文章都会为你详细介绍接口测试的基本概念、常用测试工具和实际操作技巧&#xff0c;让你轻松掌握这一技能。 接口测试…...

C语言入门_Day 6布尔数与比较运算

目录 前言 1.布尔数 2.比较运算 3.易错点 4.思维导图 前言 除了算术计算以外&#xff0c;编程语言中还会大量使用比较运算&#xff0c;并会根据比较运算的结果是“真”还是“假”&#xff0c;来执行不同的代码。 当你想买一杯奶茶&#xff0c;准备支付的时候&#xff0c;支…...

Java中的JDBC

什么是JDBC 1.Java数据库连接技术(Java DataBase Connectivity)&#xff0c;能实现Java程序对各种数据库的访问 2.由一组使用Java语言编写的类和接口(JDBC API)组成&#xff0c;它们位于java.sql以及javax.sql中 JDBC访问数据库的步骤&#xff1a; 步骤 1.Class.forName()加载…...

Vue 安装开发者工具

1.下载开发者工具&#xff0c;下载地址&#xff1a;http://book.wiyp.top/App/Vue3开发者工具-谷歌/Vue3.crx 2.打开谷歌浏览器&#xff0c;点击扩展&#xff0c;点击管理扩展程序。 3.开启开发者模式&#xff0c;将 Vue3 开发者工具文件拖拽到浏览器中进行安装。 注&#xff…...

oracle修改临时表出现已使用的事务正在处理临时表问题

错误提示&#xff1a; ORA-14450:试图访问已经在使用的事务处理临时表 解决方法&#xff1a; 通过第一句sql来查找临时表的object_id &#xff0c;然后代入第二局sql来生成第三句sql语句。 最后再执行第三句sql语句即可kill session&#xff0c;执行修改表的操作。 SELECT * F…...

RestTemplate

RestTemplate介绍 RestTemplate是Spring提供的用于访问RESTful服务的客户端&#xff0c;RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。RestTemplate默认依赖JDK提供http连接的能力&#xff08;HttpURLConnection&#xff09;&#xff0c;…...

rabbitMQ服务自动停止(已解决

1、 在rabbitmq的sbin目录下操作 rabbitmq-plugins enable rabbitmq_management 2、 自己去rabbitmq_server-3.7.5文件夹下创建一个data&#xff0c;再执行这个命令&#xff08;用自己的目录哈 set RABBITMQ_BASED:\RabbitTools\RabbitMQ\rabbitmq_server-3.7.5\data 然后去配…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

基于服务器使用 apt 安装、配置 Nginx

&#x1f9fe; 一、查看可安装的 Nginx 版本 首先&#xff0c;你可以运行以下命令查看可用版本&#xff1a; apt-cache madison nginx-core输出示例&#xff1a; nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...