当前位置:网站首页 > 编程语言 > 正文

ssh做免密(ssh免密码登录命令)



Synology NAS用key做免密码认证SSH访问,尝试了设定,不得其门而入,因此尝试其他方法,找到这个PowerShell插件Posh-SSH可以实现https://github.com/darkoperator/Posh-SSH,具体安装步骤如下。

查看Powell版本命令:Get-Host | Select-Object Version用PowerShell通过Posh-SSH免密码自动登录Linux并执行命令_Windows

Posh-SSH要求5.1或7.x以上版本,需要升级powershell,

https://download.microsoft.com/download/6/F/5/6F5FF66C-6775-42B0-86C4-47D41F2DA187/Win8.1AndW2K12R2-KB-x64.msu

安装完后会要求重启系统,完成后检查版本

用PowerShell通过Posh-SSH免密码自动登录Linux并执行命令_Windows_02

尝试按照GIT上面提示的命令安装:Install-Module -Name Posh-SSH

弹出错误提示:PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories.

用PowerShell通过Posh-SSH免密码自动登录Linux并执行命令_PowerShell_03

用如下2个命令解决这个问题

用PowerShell通过Posh-SSH免密码自动登录Linux并执行命令_Linux_04

再次运行命令:Install-Module -Name Posh-SSH

用PowerShell通过Posh-SSH免密码自动登录Linux并执行命令_Linux_05

安装完成,接着便可编写PowerShell脚本操作

$Password = "abcd"
$User = "admin"
$ComputerName = "192.168.1.1"
$Command = "ls"

$secpasswd = ConvertTo-SecureString $Password -AsPlainText -Force
$Credentials = New-Object System.Management.Automation.PSCredential($User, $secpasswd)

$SessionID = New-SSHSession -ComputerName $ComputerName -Credential $Credentials #Connect Over SSH

Invoke-SSHCommand -Index $sessionid.sessionid -Command $Command # Invoke Command Over SSH









如果ssh不是用标准22端口,可以在这里指定

$SessionID = New-SSHSession -ComputerName $ComputerName -Credential $Credentials -Port 1234

到此这篇ssh做免密(ssh免密码登录命令)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 蓝色颜色代码(蓝色颜色代码是多少)2025-08-21 23:09:07
  • exe文件反编译工具(exe如何反编译)2025-08-21 23:09:07
  • 右斜杠怎么打(电脑左斜杠和右斜杠怎么打)2025-08-21 23:09:07
  • linux修改文件权限不够(linux修改文件权限为755)2025-08-21 23:09:07
  • 怎样删除虚拟盘(怎么删除虚拟磁盘空间)2025-08-21 23:09:07
  • 华为stkal00什么型号手机(华为stkal00型号多少钱)2025-08-21 23:09:07
  • pass与saas(pass与saas区别)2025-08-21 23:09:07
  • 双系统卸载(双系统卸载win10系统)2025-08-21 23:09:07
  • max30102心率血氧传感器特点(max30102心率血氧准确测量)2025-08-21 23:09:07
  • 工具类品牌排行前十(工具类哪个品牌好)2025-08-21 23:09:07
  • 全屏图片