使用Plink -ssh与Linux交互

原创 2016年08月31日 14:44:56

PowerShell的环境变量

PSModulePath 

在PowerShell的命令行查看环境变量

PS C:\Users\autodump> $env:PSModulePath -split ';'

C:\Users\autodump\Documents\WindowsPowerShell\Modules
C:\Program Files\WindowsPowerShell\Modules
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
C:\Program Files\VisualSVN Server\PowerShellModules
C:\Program Files (x86)\AutoIt3\AutoItX


查看PowerShell的版本信息

PS C:\Users\autodump> $PSVersionTable

Name                           Value                                                                                                                                     
----                           -----                                                                                                                                     
PSVersion                      4.0                                                                                                                                       
WSManStackVersion              3.0                                                                                                                                       
SerializationVersion           1.1.0.1                                                                                                                                   
CLRVersion                     4.0.30319.34014                                                                                                                           
BuildVersion                   6.3.9600.17400                                                                                                                            
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}                                                                                                                      
PSRemotingProtocolVersion      2.2                                                                                                                                       


使用SSH.NET库

下载SSH.NET

Download Script Module and DLL file: SSH-SessionsPSv3.zip

相关Wiki

http://www.powershelladmin.com/wiki/SSH_from_PowerShell_using_the_SSH.NET_library

解压缩上述下载的Zip文件,并放到PSModulePath环境变量指示的任意文件夹下,比如我放置的的地方:

C:\Program Files\WindowsPowerShell\Modules\SSH-Sessions

按上述描述放置好后,使用Import-Module加载模块

PS C:\Users\autodump> Import-Module SSH-Sessions
<span style="color:#FF0000;">Import-Module : Could not load file or assembly 'file:///C:\Program Files\WindowsPowerShell\Modules\SSH-Sessions\Renci.SshNet.dll' or one of its dependencies. Operation 
is not supported. (Exception from HRESULT: 0x80131515)
At line:1 char:1
+ Import-Module SSH-Sessions
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Import-Module], FileLoadException
    + FullyQualifiedErrorId : FormatXmlUpdateException,Microsoft.PowerShell.Commands.ImportModuleCommand</span>

遇到上述错误,右键点击所有文件,Renci.SshNet.dllSSH-Sessions.psd1SSH-Sessions.psm1,查看是否因为安全原因被操作系统block,有的话,全部unblock


然后关闭Windows PowerShell窗口重新打开,再次执行

PS C:\Users\autodump> Import-Module SSH-Sessions

PS C:\Users\autodump> 

使用PLINK.EXE登录Linux

PS C:\Users\autodump> plink.exe -ssh -l USERNAME -pw PASSWORD HOSTNAME

这里与PowerShell无关,可以使用PowerShell或BAT脚本

使用plink.exe登录Linux并在Linux下执行指令或跑既定的shell脚本

创建bat批处理脚本

脚本命名为autoobj.bat

rem login linux host
rem see: http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink-usage-batch
rem usage: plink.exe -ssh -l UNSERNAME -pw PASSWORD HOSTNAME(or IP) -m COMMANDS file
plink.exe -ssh -l JIUHZHAN -pw Chifang617 st-lnx-855 -m obj_856_cmd.txt

创建远程命令文件obj_856_cmd.txt,用于登录到Linux主机后代替手动的指令输入

cd /home/jiuhzhan/peopleauto
pwd
ls
./testftp.sh

注意

使用plink.exe执行Linux上指令可能会遇到错误,这种错误是由环境变量不一致引起的,比如PATH的值不全,导致有些指令使用plink.exe将无法执行

可以将PATH的值写在脚本的头部初始化环境变量

使用plink.exe和putty登录系统会执行不同的shell,见http://fixunix.com/ssh/74174-different-remote-environment-variables-putty-plink.html

http://stackoverflow.com/questions/3407386/plink-does-not-source-bashrc-or-bash-profile-on-connect

linux下plink工具完全命令行远程批量关机

转自http://19793580.blog.hexun.com/78309198_d.html 我的操作系统是centos6.4 操作系统:rhel 6.2 x86_64 下载并安...

plink从windows向linux远程无密码执行命令

plink -P 22 -i %USERPROFILE%\.ssh\pg_rsa.ppk root@192.168.**.** cd %JENKINS_HOME%/workspace/;rm -rf ...

PowerShell 中通过 Plink 运行 SSH 命令

今天在研究 Isilon 脚本管理,稍后会详述。其中有一种方案就是直接在 PowerShell 中通过SSH来运行 Isilon 命令。经过短暂的搜索,发现基本有以下几个方案: SharpSSH...

PuTTY自带的plink.exe实现ssh绕墙技术(zt)

PuTTY自带的plink.exe实现ssh绕墙技术(zt) http://tilt.lib.tsinghua.edu.cn/node/549 理论上说,支持ssh version2远程登录的主机可以...
  • NULLCN
  • NULLCN
  • 2011年03月25日 23:22
  • 3521

ssh自动登录并执行命令以及plink

最近碰到一个案例,涉及到一些ssh相关有意思的东西,与大家分享。

GWAS分析软件—— 一、Plink的安装

Plink是一个免费的,开源的全基因组关联分析的工具集,是设计用来在高效计算方式完成一系列基础的,大规模分析。...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

plink和pscp命令使用(登录linux并执行命令/linux和Windows服务器文件互拷)

1. 使用Putty提供的plink.exe来自动登陆一个机器并执行命令,完成后自己关闭 bat文件内容如下:  D:\Download\Software\Putty-0.60\plink.exe -...

解决SSH第一次登录需要交互确认的问题

Auto-storing server host key in cache with plink up vote12down votefavorite ...

在远程服务器上执行本地的shell脚本

1 使用ssh实现ssh user@hostname -C “/bin/bash” < test.sh2 使用expect实现采用的策略就是先在本地通过expect把shell脚本推送到远程服务器上,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Plink -ssh与Linux交互
举报原因:
原因补充:

(最多只允许输入30个字)