【问题标题】:inserting the Linux shell script file from windows to Linux box using powershell使用powershell将Linux shell脚本文件从Windows插入Linux机器
【发布时间】:2017-02-17 08:54:54
【问题描述】:

所以我正在研究 power shell 并在 C 驱动器中创建了 shell 脚本文件,现在我想使用 plink.exe 通过使用 power shell 将该文件发送到 Linux 机器。 尝试以下命令

PS C:\> .\plink.exe -pw  -i "R***t" root@192.168.1.12 ".\adduser.sh"
Unable to open connection:

PS C:\> .\plink.exe -i ssh "R***t" root@192.168.1.12 ".\adduser.sh"

PS C:\> .\plink.exe -i ssh "R***t" -P 22 root@192.168.1.12 ".\adduser.sh"
Unable to open connection:

PS C:\> .\plink.exe -i ssh "R***t" -P 22 root@192.168.1.12 ".\adduser.sh"
Unable to open connection:

基本上我们如何通过 power shell 使用 g plink.exe 连接到 Linux 机器

如果我们需要任何 sshkey,让我确认一下,我们如何生成 ssh plink.exe 的密钥以及 ssh 密钥需要使用哪些选项

如果有任何有价值的建议,请提前感谢.....

【问题讨论】:

标签: linux powershell ssh putty


【解决方案1】:

plink 只是 putty 的命令行界面。类似于 unix/linux 中的 ssh 命令。您不能使用 plink 上传/传输文件。

您可以使用pscp 来执行此操作。

这里是关于如何创建 SSH 密钥以在不使用密码的情况下连接到服务器的参考。

https://the.earth.li/~sgtatham/putty/0.67/htmldoc/Chapter8.html#pubkey

【讨论】:

    【解决方案2】:

    plink 是 Simon Tatham 的整个 SSH 软件包套件中的一个工具,称为 PuTTY。 PuTTY 为 WIndows 用户提供 SSH 功能,并附带一堆编译的命令行工具。

    Plink 相当于 linux 机器上的 SSH(安全(远程)shell)命令。 Pscp 相当于 SCP(安全复制)命令。 Psftp 相当于 SFTP(安全文件传输协议),它使用与 SCP 相同的传输方法,但具有类似 FTP 的命令行界面。 PuTTY 本身是一个图形工具,它使用与 plink 相同的代码通过 SSH 或 Telnet 协议(以及更多)创建远程 shell 或命令,但现在可能有点多。

    从外观上看,您似乎正在尝试将 shell 脚本复制到您的 Linux 服务器,因此您不应该使用该命令打开 shell,而是使用该命令进行安全复制。

    简而言之,使用 PSCP,而不是 PLINK。 (也许阅读它的手册,所以你的论点是正确的)

    【讨论】:

      【解决方案3】:

      要将 shell 脚本文件从 windows 机器插入到 Linux 机器,您需要从 Internet 下载“plink”文件并将其保存在 C:\drive 并运行如下命令

      PS C:\> .\pscp.exe .\abc.sh root@1.2.3.4.:/root
      

      之后,您可以使用以下命令使用 plink 连接 linux 机器

      PS C:\> .\plink.exe -pw "L****e" root@1.2.3.4 -P 22 "ls"
      

      这里“-pw”表示密码,“-P”表示端口号

      【讨论】:

        【解决方案4】:

        我曾简单地尝试过 Powershell 的“Post-SSH”第三方模块,看起来还不错。 :) Find-module Posh-SSH

        Find-module Posh-SSH | Install-module

        之后就可以了

        $session = New-SSHSession -ComputerName "1.2.3.4" -Credential (Get-Credential) Invoke-SSHCommand -Session $session -Command 'ls -l'

        最后再次关闭会话

        $session | Remove-SSHSession

        http://www.thomasmaurer.ch/2016/04/using-ssh-with-powershell/

        【讨论】:

        • 我只需要使用 plink
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-22
        • 1970-01-01
        • 2014-01-19
        • 2013-05-08
        • 1970-01-01
        • 2023-04-09
        相关资源
        最近更新 更多