我的操作系统是Windows 10 (x64),我安装了Powershell 7和cygwin。
然后,我安装了"sshpass"使用cygwin。
下面是我正在经历的案例。
-
在cmd中输入"C:cygwin64binmint .exe -", cygwin弹出初始目录"~"然后,如果我输入"sshpass -p
SSH<用户名>@<主机>",它完美地工作顺利!主机>用户名> -
从cmd,如果我输入"C:cygwin64binmint .exe", cygwin弹出目录"/cygdrive/C/Users/myname"然后,如果我输入"sshpass -p
SSH<用户名>@<主机>",它要求我输入密码。这意味着sshpass在这里不能正常工作。主机>用户名> -
在powershell中,如果我输入"C:cygwin64binsshpass.exe -p
C:cygwin64binssh @ ",没有任何反应
我的问题如下:
-
如何在Powershell中正确运行sshpass命令?
-
假设我的ip地址是1.1.1.1,我连接的服务器ip地址是2.2.2.2,两台计算机的操作系统都是Windows。当我通过ssh连接到服务器时,它显示了"cmd";服务器终端。我怎样才能把它改成显示"cygwin"终端连接到服务器?
我正在努力解决这个问题。事先非常感谢……
我不确定我是否得到了这个,无论如何,如果我理解正确的话,你很难从powershell启动sshpass。
尝试使用Start-Process命令:(可能在参数(?)中添加ssh的完整路径)
start-process -filepath C:cygwin64binsshpass.exe -ArgumentList '-p<password> ssh <username>@<host>' -Wait -NoNewWindow
不管怎样,你为什么不检查powershell模块,而不是在windows上执行linux命令并从powershell中运行它?
ssh使用powerShell脚本通过传递密码和命令
另外,Powershell远程连接到linux是现在的一件事,它通过ssh(不是bash)运行