当前位置: 首页 > 编程笔记 >

PowerShell小技巧之尝试ssh登录

申高卓
2023-03-14
本文向大家介绍PowerShell小技巧之尝试ssh登录,包括了PowerShell小技巧之尝试ssh登录的使用技巧和注意事项,需要的朋友参考一下

在PSNet程序集中继续进行扩展,在$env:PSSpace/PSNet/TCPOp/下创建Invoke-SSHLogin.ps1脚本用于在传入指定ssh地址、用户名和密码后返回是否登录成功。

在$env:PSSpace/PSNet/下创建Lib目录用于存放在脚本中需要使用的第三方库,由于在本文中需要引用Renci.SshNet.dll用户可以从http://sshnet.codeplex.com/releases/view/72214中下载程序,解压后将文件放置在$env:PSSpace/PSNet/Lib中用于后续的调用。

在$env:PSSpace/PSNet/PSNet.psm1添加对刚下载的程序集的引用,并添加对Invoke-SSHLogin.ps1脚本的引用,在PowerShell启动时同时加载并初始化函数。


[void][reflecthtml" target="_blank">ion.assembly]::LoadFrom((Resolve-Path "$env:PSSpace/PSNet/Lib/Renci.SshNet.dll")) 

. $env:PSSpace/PSNet/TCPOp/Invoke-SSHLogin.ps1

上述两条语句,第一条用于获取Dll文件的绝对位置,并将dll文件 引用到当前session中。

接下来定义此函数中的相关参数:

-Site参数用于指定要尝试密码的SSH主机域名或IP,此参数必须
-User参数用于指定登录时使用的用户名,此参数必须
-Pass参数用于指定登录时使用的密码,此参数必须

此脚本文件加载后的调用方式如下:


Invoke-SSHLogin -Site localhost -User fuhj -Pass P@ssWorD


执行效果图如下:

能看到例子中,选择了正确的主机名,用户名和密码后登录成功了,而输入错误的用户名和密码以及输出不存在监听的主机名时均报错了.为了保证服务器和用户名密码的安全,对于存在的主机已经通过处理抹去了主机名用户名和密码了.
源代码如下:


 =====文件名:Invoke-SSHLogin.ps1=====

Function Invoke-SSHLogin{

Param(

      [parameter(Mandatory = $true)]

      [string]$Site = "localhost",

      [parameter(Mandatory = $true)]

      [string]$User = "Anonymous",

      [parameter(Mandatory = $true)]

      [string]$Pass = "hello@world",

      [int]$Port=22

)

Write-Host "Try to Login ssh..."

# Do directory listing $SSHreq = New-Object Renci.SshNet.SshClient($Site,$Port,$User,$Pass)

try {     $SSHreq.Connect()     if ($SSHreq.IsConnected) {     $cmd = $SSHreq.RunCommand("ps aux")     $output = $cmd.Result.Split("`n")     $success = $true     Write-Host "Login Succed" -BackgroundColor green -ForegroundColor yellow     } $cmd.Dispose() $SSHreq.Disconnect() $SSHreq.Dispose() } catch {    Write-Host "FAILED: $_"  -BackgroundColor red -ForegroundColor black    $success = $false } }


 类似资料:
  • 本文向大家介绍Powershell小技巧之复合筛选,包括了Powershell小技巧之复合筛选的使用技巧和注意事项,需要的朋友参考一下 当你分析文本日志或筛选不通类型的信息时,你通常要使用 Where-Object。这里有一个通用脚本来说明复合筛选:

  • 本文向大家介绍Powershell小技巧之获取MAC地址,包括了Powershell小技巧之获取MAC地址的使用技巧和注意事项,需要的朋友参考一下 在Powershell中获取MAC地址不是很难。这里就有一种方法: 我们面临的问题是要分类数据并格式化。未处理的信息是来自Getmac.exe输出的CSV数据,这里有一个技巧:跳过第一行来命名你喜欢的列(此时包涵了CSV的头),此时可以提供你自己独特的

  • 本文向大家介绍Powershell小技巧之使用WMI工具,包括了Powershell小技巧之使用WMI工具的使用技巧和注意事项,需要的朋友参考一下 WMI是一个强大的技术:只需要简单的指定一个WMI类名就能返回它类的所有实例: 你如何知道它有哪些类呢?这里有一款查找工具: 设置搜索条件后,代码将搜索出包含指定属性名的类(还可以通过通配符扩大搜索范围) 下面将找出所有包含“resolution”结尾

  • 本文向大家介绍Powershell小技巧之设置IE代理,包括了Powershell小技巧之设置IE代理的使用技巧和注意事项,需要的朋友参考一下 IE的代理设置位于注册表中:”HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings”下。关键键值为ProxyEnable和ProxyServer。所以通过更改注册表即可完成IE代

  • 本文向大家介绍PowerShell小技巧之发送TCP请求,包括了PowerShell小技巧之发送TCP请求的使用技巧和注意事项,需要的朋友参考一下 很多时候我们需要通过Socket发送特定的TCP请求给服务器的特定端口来实现探测服务器的指定端口所开启的服务。很多语言都有相应的方法实现上述需求,当然,PowerShell也不例外,比如我们要发送一个简单的http请求到指定的web服务器: GET /

  • 本文向大家介绍PowerShell小技巧之执行SOAP请求,包括了PowerShell小技巧之执行SOAP请求的使用技巧和注意事项,需要的朋友参考一下 SOAP的请求在Web Service是无处不在的,像WCF服务和传统ASMX asp.net的web Service。如果要测试SOAP服务是否好用通过web编程来实现就显得太过于复杂了,下面的脚本片段(snippet)将会轻而易举的完成通过po