Bal*_*dar 90 passwords ssh command-line
我需要通过以非交互方式提供密码从Windows命令行执行ssh.我可以实现基于密钥的身份验证,并能够执行ssh命令
ssh <user>@<host> <command>
Run Code Online (Sandbox Code Playgroud)
有没有像这样的命令
ssh <user>@<host> -P <password> <command>
Run Code Online (Sandbox Code Playgroud)
我不知道它是否可行.但是,可以有一些相同的工作.给我一些想法来实现同样的目标.
小智 161
该sshpass工具是为正是这一点.首先,键入以下命令安装sshpass:
sudo apt-get install sshpass
Run Code Online (Sandbox Code Playgroud)
然后在前面加上你的ssh/scp命令
sshpass -p '<password>' <ssh/scp command>
Run Code Online (Sandbox Code Playgroud)
使用Linux时,此程序最容易安装.
用户应该考虑使用SSH更安全的公钥认证(使用ssh命令).
Ill*_*huk 24
这个期望脚本怎么样?
#!/usr/bin/expect -f
spawn ssh root@myhost
expect -exact "root@myhost's password: "
send -- "mypassword\r"
interact
Run Code Online (Sandbox Code Playgroud)
PowerShell解决方案
使用 Posh-SSH:
New-SSHSession -ComputerName 0.0.0.0 -Credential $cred | Out-Null
Invoke-SSHCommand -SessionId 1 -Command "nohup sleep 5 >> abs.log &" | Out-Null
Run Code Online (Sandbox Code Playgroud)
这篇文章是您问题的有效解决方案。
如果您使用 Windows 终端,并且希望 shell 在打开新选项卡时登录到远程计算机,您可以配置命令行参数(设置 -> Shell -> 命令行):
C:\Users\USERNAME\AppData\Local\Microsoft\WindowsApps\Microsoft.PowerShell.ID\pwsh.exe
-Command "plink USERNAME@192.168.0.1 -pw PASSWORD"
Run Code Online (Sandbox Code Playgroud)