AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1714028
Accepted
Celeste aka. 73chn0
Celeste aka. 73chn0
Asked: 2022-04-02 02:46:25 +0800 CST2022-04-02 02:46:25 +0800 CST 2022-04-02 02:46:25 +0800 CST

使 bash 脚本执行 ssh

  • 772

我想要一个 bash 脚本在多个新的 bash 窗口中启动多个 SSH 连接到多个 linux 服务器,而不是为了进一步处理,只是用一个简单的命令进行连接,而不是每次我重新启动 bash 时都必须输入完整的 ssh 行(使用WSL2/WSLg)。

打开新终端并在其中执行命令完全没有问题。仅运行 ssh (openSSH) 在所有三种情况下都是一个问题,因为它们都会抛出相同的错误:'ad port ' 12345

在 bash 中手动执行它我确实像这样调用 ssh:ssh [email protected] -p 12345

所以我假设,就像每个命令一样,我可以按以下方式编写脚本:

#!/bin/bash
ssh [email protected] -p 12345
ssh [email protected] -p 67890
ssh [email protected] -p 54321

这是与脚本相关的问题,还是可能是 WSL 问题?

编辑:我想指出我现在的重点主要是我得到的“广告端口”错误。我不知道这是什么,我在 Inet 上找不到任何有用的信息。

EDIT2:这只是对代码的过度简化,因为我不允许分享整个脚本的任何细节。我知道,这段代码只会按顺序执行 ssh,但这只是为了测试。我只想查看按顺序建立的三个连接(登录由 RSA 密钥对处理)。

整个脚本是在 Proxmox->Debian 服务器(在 Proxmox 上运行的虚拟 Debian)上使用 NANO 或 VIM 编写的。因此,遗憾的是 CRLF 行尾不是问题。感谢您指出这一点!

这个问题没有直接解决,但可以通过@NotTheDr01ds 建议的另一种方法 - 使用 tmux 来解决!

ssh bash
  • 1 1 个回答
  • 1596 Views

1 个回答

  • Voted
  1. Best Answer
    NotTheDr01ds
    2022-04-02T06:38:57+08:002022-04-02T06:38:57+08:00

    这很可能是由于在使用 DOS/Windows CRLF 行结尾保存文件的Windows编辑器中创建或编辑文件造成的。如果我使用notepad.exe. 记事本现在可以以 Unix/Linux 格式保存,但默认情况下它不会保存新文件,除非您手动更改该选项。

    通常,始终使用 Linux 工具在 WSL 中编辑文件。

    在多个新的 bash 窗口中

    您的脚本尚未尝试解决此问题。如评论中所述,当前脚本将在单个bash实例中按顺序运行这些脚本(脚本的 shebang 行本身的子shell)。

    如果您想将每个启动到一个单独的“窗口”中,您将需要一些提供该功能的工具。该wsl.exe命令本身并不是一个很好的选择,因为默认情况下,它将在当前终端内执行一个新实例。可以将 PowerShell(甚至在 WSL 中)与cmdlet 一起使用Start-Process来启动新的 WSL 窗口/终端:

    来自 WSL:

    powershell.exe -c Start-Process wsl.exe
    

    这可以结合wsl.exe'-e/--execute参数来启动ssh命令:

    #!/bin/bash
    powershell.exe -c 'Start-Process "wsl.exe" -ArgumentList "ssh [email protected] -p 12345"'
    powershell.exe -c 'Start-Process "wsl.exe" -ArgumentList "ssh [email protected] -p 67890"'
    powershell.exe -c 'Start-Process "wsl.exe" -ArgumentList "ssh [email protected] -p 54321"'
    

    但我建议为此使用 Tmux。它默认安装在 WSL Ubuntu 发行版中:

    #!/bin/bash
    tmux new-session sh -c "ssh [email protected] -p 12345; exec bash" \; new-window sh -c "ssh [email protected] -p 67890; exec bash" \; new-window sh -c "ssh [email protected] -p 54321; exec bash"
    

    这将ssh在 3 个不同的 Tmux 窗口中运行您的命令,然后在每个窗口中启动一个 bash shell,以便您可以查看结果。如果您还不了解 Tmux,则需要学习一些热键才能切换窗口等。

    当然,还有其他方法可以做到这一点。

    • 2

相关问题

  • Notify-发送窗口下出现的通知

  • 需要 LDAP 身份验证 * 和 * ssh 身份验证

  • 加载密钥“ec256.pem”:尝试从私钥生成公钥时抛出无效格式

  • 如何从 WSL 打开 office 文件

  • 为什么 chown 600 id_rsa 修复权限问题?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve