SSH 服务详解 (四)-- 本地调用远程主机的命令

DataGrip通过ssh连接远程主机mysql,mac、windows通用 需求 1.想通过datagrip直接连接远程主机上的mysql。 困难 1.出于安全考虑,远程主机上的mysql 3306端口并没有对外开放,因此不能像本地连接数据库那么方便。 解决过程 1.在windows下通过xshell建立隧道,即可将远程主机上的mysql端口进行映射到本地指定端口,这样与需要连接数据库时,都需要进行使用xshell登陆远程主机,否则数据库是连接不上的。 通过xshell ... 阅读详情

SSH 服务详解 (四)-- 本地调用远程主机的命令

SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动

SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录)

SSH 服务详解 (三)-- 使用 SSH 代理

SSH 服务详解 (四)-- 本地调用远程主机的命令

SSH 服务详解 (五)-- 远程文件拷贝

SSH 服务详解 (六)-- Windows SSH 主机

SSH 服务详解 (七)-- SSH 连接 Github

SSH服务详解(八)– vscode 通过 SSH 远程连接 linux 服务器

  • SSH 服务器运行在 ubuntu 18.04.1
  • SSH 客户端在 Windows10

本节主要讲解 ssh 在本地调用远程主机上的命令,不登录远程主机 shell

应用场景:

  • 在实际 shell 脚本的编写过程中,需要通过 ssh 远程执行一个命令,比如新建一个目录等

实现方法:

ssh username@hostname command

SSH 发送一个命令

通过 Windows 的 powershell 发送如下命令

ssh tyustli@192.168.10.22 "ls"

命令的返回结果

cross-tool
Desktop
src
temp
test.c

新建一个目录

ssh tyustli@192.168.10.22 "mkdir tyustli;ls"

命令的返回结果

cross-tool
Desktop
src
temp
test.c
tyustli

可以看到 ssh 通过发送命令,返回了远程主机的目录情况,但是还是在 windows 这个主机的 powershell 下

SSH 发送多个命令

ssh tyustli@192.168.10.22 "ls;pwd"

如果要发送多个命令,那么各个命令之间通过分号进行分隔

SSH 以交互的方式执行远程命令

通过在 ssh 命令中指定 - t 参数,就可以进行交互式的执行远程命令,简单来说,就是执行的命令需要远程主机的 shell 中的停留等待用户交互,即远程 shell 之间的交互,

通过使用 - t 参数,ssh 会保持一直登录到远程主机 shell, 直到退出交互命令

未使用 - t 参数的 top 命令:

tyustli@172.16.19.129 top
TERM environment variable not set.

使用 - t 参数的 top 命令

ssh -t tyustli@172.16.19.129 top

执行结果:

top - 00:43:30 up 2 days,  2:45,  2 users,  load average: 0.00, 0.02, 0.00
Tasks: 379 total,   1 running, 294 sleeping,   0 stopped,   1 zombie
%Cpu(s):  0.1 us,  0.3 sy,  3.2 ni, 96.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  4002276 total,   815300 free,  1508844 used,  1678132 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  2193032 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 67259 tyustli   20   0   51468   4236   3404 R   6.2  0.1   0:00.01 top
     1 root      20   0  226204   9788   6700 S   0.0  0.2   0:11.33 systemd
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.10 kthreadd
     3 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 rcu_gp
     4 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 rcu_par_gp
     6 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/0:0H-kb
     9 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 mm_percpu_wq
    10 root      20   0       0      0      0 S   0.0  0.0   0:00.22 ksoftirqd/0
    11 root      20   0       0      0      0 I   0.0  0.0   1:51.00 rcu_sched
    12 root      rt   0       0      0      0 S   0.0  0.0   0:00.58 migration/0
    13 root     -51   0       0      0      0 S   0.0  0.0   0:00.00 idle_inject/0
    14 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/0
    15 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/1
    16 root     -51   0       0      0      0 S   0.0  0.0   0:00.00 idle_inject/1
    17 root      rt   0       0      0      0 S   0.0  0.0   0:01.03 migration/1
    18 root      20   0       0      0      0 S   0.0  0.0   0:00.32 ksoftirqd/1
    20 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/1:0H-kb
    21 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/2
    22 root     -51   0       0      0      0 S   0.0  0.0   0:00.00 idle_inject/2
    23 root      rt   0       0      0      0 S   0.0  0.0   0:01.05 migration/2
    24 root      20   0       0      0      0 S   0.0  0.0   0:00.18 ksoftirqd/2
    26 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/2:0H-kb
    27 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/3
    28 root     -51   0       0      0      0 S   0.0  0.0   0:00.00 idle_inject/3
    29 root      rt   0       0      0      0 S   0.0  0.0   0:01.02 migration/3
    30 root      20   0       0      0      0 S   0.0  0.0   0:00.98 ksoftirqd/3
    32 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kworker/3:0H-kb
    33 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kdevtmpfs
    34 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 netns
    35 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_tasks_kthre
    36 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kauditd
    40 root      20   0       0      0      0 S   0.0  0.0   0:00.14 khungtaskd
    41 root      20   0       0      0      0 S   0.0  0.0   0:00.00 oom_reaper
    42 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 writeback
    43 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kcompactd0
    44 root      25   5       0      0      0 S   0.0  0.0   0:00.00 ksmd
    45 root      39  19       0      0      0 S   0.0  0.0   0:00.00 khugepaged
   137 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kintegrityd
   138 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 kblockd
   139 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 blkcg_punt_bio
   140 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 tpm_dev_wq
   141 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 ata_sff
   142 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 md

通过 Ctrl + C 出交互式命令时,就会断了与远程主机的连接

通过以上的测试,使用 - t 选项,就是在发出命令之后,ssh 还会保留在远程的 shell 上,等待命令执行完成或者说等待用户给出后续的命令,当用户发送 Ctrl + C 退出交互命令之后,与远程的 shell 断开,回到本地的 shell 中

参考连接:https://www.cnblogs.com/chuanzhang053/p/8549122.html

使用SSH隧道连接远程主机 简要介绍了SSH协议及其作用,针对三个场景,分别介绍了动态转发,本地转发,远程转发的应用条件和配置示例。 阅读详情

相关推荐

SSH远程连接工具

摘自: https://www.cnblogs.com/ftl1012/p/ssh.html https://www.cnblogs.com/youngerger/p/9104144.html SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就...

qianxuedegushi的博客 2688

ssh远程访问及控制

一、SSH远程管理 1.SSH (Secure Shell)协议 是一种安全通道协议 对通信数据进行了加密处理,用于远程管理 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH为建立在应用层基础上的安全协议。 SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。 SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补

csdn_T996的博客 4291

SSH远程执行命令

SSH 是 Linux 下进行远程连接的基本工具,但是如果仅仅用它来登录那可是太浪费啦!SSH 命令可是完成远程操作的神器啊,借助它我们可以把很多的远程操作自动化掉!下面就对 SSH 的远程操作功能进行一个小小的总结。 远程执行命令 如果我们要查看一下某台主机的磁盘使用情况,是不是必须要登录到目标主机上才能执行 df 命令呢?当然不是的,我们可以使用 ssh 命令在远程的主机上执行 df 命令,然后直接把结果显示出来。整个过程就像是在本地执行了一条命令一样: $ ssh nick@xxx.xxx.xxx.x

二进制君 8301

ssh -t 命令使用

允许你在远程机器上执行需要交互式终端的操作。当你通过SSH连接到远程机器时,默认情况下,远程命令会在非交互式模式下运行,这意味着它不会像在本地终端中那样接收和处理键盘输入。,可以在远程机器上使用命令进行交互。这在运行需要交互式输入的命令时非常有用,例如编辑器、shell脚本或需要用户输入的程序。命令用SSH协议安全地连接到远程计算机,并允许你分配一个伪终端。示例:查看远程机器下某个文件并可以对文件进行操作。

sinat_34241861的博客 2993

tssh:SSH轻量级管理工具

tssh golang实现的ssh工具 安装 下载安装 下载地址 Windows用户请手动下载,暂时不提供一键安装模式(主要是批处理脚本不会写) Mac一键安装 /bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/luanruisong/tssh/master/install.sh ) " 自酿安装 对不起,我不配 设置环境变量 export TSSH_HOME=/Users/user/work/ssh_config/ 查看帮助 $ tssh -h Usage of tssh: -P int set port in (-a | -s) (default 22) -a string add config {user@host} -c string connect con

SirTunnel:ngrok的最小的,自托管的,0配置的替代方案。 Caddy + OpenSSH + 50行Python

它是什么? 如果您有一台计算机(例如您的开发笔记本电脑)上运行着Web服务器,并且想通过公共URL安全地公开它(即HTTPS),则SirTunnel可以使您轻松地做到这一点。 你如何使用它? 如果你有: SirTunnel在example.com端口443上侦听。 服务器PATH上可用的sirtunnel.py脚本的副本。 在example.com端口22上运行的SSH服务器。 在笔记本电脑的8080端口上运行的网络服务器。 然后在笔记本电脑上运行以下命令: ssh -tR 9001:localhost:8080 example.com sirtunnel.py sub1.example.com 9001 现在,对https://sub1.example.com任何请求都将被代理到您的本地Web服务器。 它是如何工作的? 上面的命令执行以下两项操作: 它启动从服务器端

linux命令ssh连接远程服务器并上传文件到远程服务器及命令上传

ssh链接远程服务器并上传文件到远程服务器 一、与远程服务器链接 1. 远程登录主机 ssh [用户名]@[ip地址] 例如我的用户名是root,IP地址是192.168.9.25 ssh root@192.168.9.25 然后输入密码即可进行链接,成功后出现以下提示 2. 切换到指定目录下 cd [目录地址] 切换到文件要存放的文件后方可进行上传 3. 查看当前文件中的所有文件 ls 3. 查看当前文件的路径地址 pwd 二、上传文件到远程服务器 1. 上传本地文件到远程服务器 注意:这个

meimeib的博客 4万+

支持 trzsz ( trz / tsz ) 的 ssh 客户端

tssh 支持搜索选择 ~/.ssh/config 中配置的服务器进行登录,支持酷炫的 vim 操作习惯。tssh 内置支持 trzsz ( trz / tsz ) ,一并解决了 Windows 中使用 trzsz ssh 上传速度慢的问题。

linux命令详解,ssh服务+远程拷贝

泷羽sec课程笔记,星河飞雪计划 这个文件包含了许多配置选项,可以通过编辑这些选项来调整 SSH 服务的各种行为。(Secure Shell)命令用于安全地远程登录到另一台计算机,并执行命令和传输文件。文件中的主机名和 IP 地址进行哈希处理。(Secure Copy)命令用于在本地和远程主机之间安全地复制文件。文件被泄露,攻击者也无法直接从中获取实际的主机名或 IP 地址。,每个用户可以有自己的配置文件。提供了加密的通信通道,确保数据传输的安全性。在 SSH 客户端配置文件中,

2202_75361164的博客 3915

【鸿蒙南向开发】OpenHarmony——分布式数据对象之功能实践

通过本文的学习可了解到分布式数据对象的主要接口、大致调用方法和功能实现等。结合对应内容,可以进一步对分布式数据对象同步机制做深度学习。下一步,(1) 着重理解同步组网的构建原理。(2) 着重理解同步组网内,监听change和status变化的实现。●如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:●关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。

HarmonyOS_666的博客 1085

手把手教你用Qt和DSP28335实现串口Bootloader,附赠源码和避坑指南

本文详细介绍了如何使用Qt和DSP28335实现串口Bootloader,包括开发环境搭建、通信协议设计、Qt上位机开发、DSP端Bootloader核心实现以及应用程序工程的特殊配置。通过实战案例和源码分享,帮助开发者快速掌握嵌入式固件升级技术,提升工业设备远程升级的效率和可靠性。

weixin_29176179的博客 130

[Linux] 本地shell脚本ssh到远程服务器并执行命令

背景需求: 在工作中,经常需要从本地提交节点,远程登录到其他节点上区执行一些shell命令,如果分别ssh到每台远程主机上,再去执行各个命令会很麻烦。如果可以直接在提交节点上,直接ssh到各个远程主机上去执行命令,可以省去依次登录的麻烦。 前提: 需要配置ssh免密码登录。可以直接跳过登录密码,直接登录进远程主机,这一点在shell脚本中执行时非常关键。 ssh远程执行命令格式: ssh [opt...

mouliu6141的博客 1万+

八大核心深度学习算法详解:从CNN到Transformer的完整指南

深度学习作为人工智能的核心技术,通过多层神经网络模拟人脑学习机制。其基本原理是利用反向传播算法优化网络参数,从数据中自动提取特征表示。这一技术价值在于能够处理高维复杂数据,在图像识别、自然语言处理等领域实现突破性进展。卷积神经网络(CNN)通过局部连接和权值共享有效处理图像数据,而Transformer架构基于自注意力机制革新了序列建模方式。在实际工程实践中,CNN广泛应用于计算机视觉任务,如图像分类和目标检测;Transformer则成为自然语言处理的主流架构,支撑着BERT、GPT等预训练模型。本文系统

aoe41606的博客 428

VSCode SSH 连接远程ubuntu Linux 主机

VSCode SSH 连接远程ubuntu Linux 主机

坚韧与专注 1万+

ACPWorkbench_for_BP10

ADC支持9种采样率:8000Hz、11025Hz、12000Hz、16000Hz、22050Hz、24000Hz、32000Hz、44100Hz 以及 48000Hz。选择5种MCLK源时, 模块内部的MCLK源无效。I2S 采样率支持:8K,11.025K,12K,16K, 22.05K, 24K, 32K, 44.1K, 48K, 88.2K, 96K, 176.4K 和 192K。DAC采样率支持:8K,11.025K,12K,16K,22.05K, 24K, 32K, 44.1K和48K。

dddds222_的博客 4512

【GPT】Coze使用开放平台接口-【7】Dify 比较篇

coze 用于社交,dify 用来内部构建。抛开工作流,机器人,工具,coze 最大的区别在于可以直接发布到社交媒体上。所以,coze 对操作体验上也花了不少功夫,而 dify 就专注在帮助使用者打磨工作流。coze 各个大模块之前可以联动的机制也比较多,所以侧重点各不相同。

非晓为骁的博客 7605

在本地shell脚本中ssh到远程服务器并执行命令

在本地shell脚本中ssh到远程服务器并执行命令

u011250186的博客 1万+

Mem0 vs LangMem vs Letta:三大AI记忆框架实战对比(附代码示例)

本文深入对比了Mem0、LangMem和Letta三大AI记忆框架的核心特性与适用场景。Mem0提供开箱即用的记忆管理服务,适合快速集成;LangMem深度融入LangGraph生态,适合复杂工作流;Letta则采用虚拟内存系统,旨在突破上下文窗口限制。文章通过实战代码示例,为开发者选择适合其业务需求的AI记忆解决方案提供了清晰指南。

g9h0i1的博客 667

SSH命令详解

SSH 是一种用于远程管理和操作服务器的协议,可确保数据传输安全和可靠性。本篇博客介绍了 SSH 的基础知识,包括连接远程主机、指定登录用户和端口号、使用身份验证文件、执行远程命令等操作。同时,也介绍了如何使用密钥对登录远程主机,提高了系统的安全性。

m0_60873746的博客 4万+

傻白入门芯片设计,SystemVerilog Assertion(SVA)学习(二十一)

对SVA(SystemVerilogt Assertion)有了更深刻的认识,对经典的AveMC形式验证工具进行了介绍

qq_46675545的博客 8462

手把手教你学Simulink--基于新能源并网与协调控制的场景实例:双馈异步风力发电机并网运行仿真

随着“双碳”目标的推进,风力发电已成为新能源并网的核心组成部分。其中,双馈异步风力发电机(Doubly-Fed Induction Generator, DFIG)因其变频器容量小(仅处理转差功率)、可实现有功/无功独立调节、运行效率高等优势,广泛应用于现代兆瓦级风电机组。DFIG系统通过转子侧变流器(Rotor-Side Converter, RSC)和网侧变流器(Grid-Side Converter, GSC)实现对发电机转矩与电网无功的精确控制,支持最大功率点跟踪(MPPT)和。

MHD0815的博客 275

通过 SSH 执行远程命令

ssh作为一款被广泛使用的远程连接工具以其高效和安全性所为人们著称。但其实ssh表示我能做的事情有很多,这里介绍其中一个基本功能,在不进入shell交互界面的情况下远程执行某些命令。 如果我们要查看一下某台主机的进程情况,是不是必须要登录到目标主机上才能执行 df 命令呢?当然不是的,我们可以使用 ssh 命令在远程的主机上执行 df 命令,然后直接把结果显示出来。整个过程就像是在本地执行了一条命令一样: 当我们需要执行远程命令,但是并不想要登录到目标主机时,此时我们可以通过执行ssh命令来完成不登录到主机

永远相信美好的事情即将发生 9161

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

解决:如何利用ssh命令,免密登录远程服务器

解决:如何利用ssh命令,免密登录远程服务器一·ssh命令的调用格式:二·ssh命令非免密登录远程服务器:直接调用ssh命令,每次登录都需要手动输入远程服务器的用户密码三·ssh的免密登录远程服务器:步骤一:在客户端生成ssh密钥对(公钥,私钥)步骤二·将客户端的公钥分发给其他服务器(也可以分发给自己,因为有时候脚本执行也需要登录服务器自身账号)步骤三·利用ssh命令,免密登录远程服务器 一·ssh命令的调用格式: ssh 参数 用户名@远程主机IP地址 示例如下: 当前客户端远程登录192.168

weixin_48033662的博客 4820

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

pycharm远程通过SSH调用linux环境下的python

最近博主在帮老师做项目,因为更习惯使用windows系统,平常没少花时间在配置环境上。在linux环境安装各类环境库的方便程度要远远高于window环境下,但是每次都要在远程连接服务器或者打开虚拟机未免有些不方便。所以,通过pycharm自带的ssh连接功能,可以在windows环境下直接调用linux系统配置好的python环境,省去了各种各样的问题。 一.前提条件 (1)准备好pycharm专业版,社区办没有远程连接服务器的功能(学生的话可以使用edu邮箱申请1年免费使用) (2)一个装有ubunt.

CSK的博客 2336

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

如何远程SSH连接在家的服务器主机

遵循这些步骤,您应该能够成功通过SSH远程连接到家里的服务器主机。替换“用户名”、“服务器IP地址”和“端口号”为实际的值。

IT深耕十余载,大道之简 3362

ssh中exit命令退出远程服务器_SSH的使用详解

来自公众号:360云计算作者:360云计算女主宣言分享一篇关于SSH的介绍和使用方法的文章。本文从SSH是什么出发,讲述了SSH的基本用法,之后在远程登录、端口转发等多种场景下进行独立的讲述,希望能对大家有所帮助。1什么是SSH?SSH是一种网络协议,用于计算机之间的加密登录。最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑。1995年,芬兰学者Tatu Ylonen设计...

weixin_42294495的博客 3195
上一篇: SSH 服务详解 (三)-- 使用 SSH 代理
下一篇: SSH 服务详解 (五)-- 远程文件拷贝
tyustli
博客等级 码龄9年 1252粉丝 516原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tyustli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值