在我的Windows计算机上,我在PowerShell上使用SSH-Session模块,我想使用sudo
来执行我的服务器中的特殊命令。
但是当我通过SSH-Session启动sudo
命令时出现此错误:
sudo:没有tty存在且没有指定askpass程序
我不想使用PuTTY或ssh
命令,因此参数-l
不是问题!
如果可能,我不想更改SSH服务器配置。
我想知道如何在PowerShell中强制伪分配tty?
由于
答案 0 :(得分:1)
SSH-Session
模块基于SSH.NET library。
SSH.NET库支持伪终端分配,但SSH-Session
模块不公开功能。
您必须修改SSH-Session
代码才能使其可用。
使用Shell
类(SshClient.CreateShell
),隐式请求伪终端。
或使用ChannelSession.SendPseudoTerminalRequest
明确请求伪终端。
或者修改sudo
不要求requiretty
的伪终端(删除SSH-Session
选项,默认情况下该选项已关闭。
或者直接使用SSH.NET,不使用Dim filterrange as Range, row as Range, cell as Range
Dim newWb as workbook
Set filterrange = ThisWorkbook.Sheets(yourSheet).Cells(2, ThisWorkbook.Sheets(yourSheet).cells(1, columns.count).end(xltoleft).column) ' get columns e.g. name, state, etc.
filterrange.autofilter Field:=3, Criteria1:=Array("BLR" _
, "MAD", "MIA", "NCE", "="), Operator:=xlFilterValues
filterrange.AutoFilter Field:=5, Criteria1:="Yes" ' activeconnect
filterrange.AutoFilter Field:=6, Criteria1:="=" ' clustername
filterrange.AutoFilter Field:=4, Criteria1:= _
"<>*@ora.gmail.com*", Operator:=xlAnd ' e-mail
filterrange.AutoFilter Field:=2, Criteria1:=Array( _
"Bangalore", "Honslow", "Madrid", "Miami"), Operator:=xlFilterValues
For Each cell In filterrange.CurrentRegion.SpecialCells(xlCellTypeVisible).Rows
If Cells(cell.row, 8) = "" Then
Select Case Cells(cell.row, 5).Value
Case "NCE"
Cells(cell.row, 8) = "nce.iis"
Case "BLR"
Cells(cell.row, 8) = "sin.iis"
Case "MAD"
Cells(cell.row, 8) = "muc.iis"
Case "MIA"
Cells(cell.row, 8) = "atl.iis"
End Select
End If
Next cell
filterrange.CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Set newWb = Workbooks.Add
newWb.Sheets(1).Paste
模块。
有些代码请参阅以下问题:
答案 1 :(得分:0)