You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本绕过Plink首次主机密钥验证遇错求助

解决Plink主机密钥验证错误&内网通用SSH连接脚本方案

一、报错原因分析

你遇到的Host key did not appear in manually configured list错误,是因为指定的主机密钥指纹格式有误(末尾多余冒号),且-batch参数会强制拒绝未知主机密钥。结合内网环境需求,直接绕过首次主机密钥验证是更高效的方案。

二、修正后的Plink脚本(绕过验证)

$ipAddress = "10.10.10.10"
# 读取用户名/密码,去除文件末尾换行符
$username = Get-Content -Path "你的用户名文件路径" -Raw | TrimEnd
$password = Get-Content -Path "你的密码文件路径" -Raw | TrimEnd

$plinkPath = "C:\Program Files\PuTTY\plink.exe"

# 用-hostkey * 匹配任意主机密钥,内网可信环境下安全可用
# 直接调用plink,避免Invoke-Expression的安全风险
& $plinkPath -batch -ssh -hostkey * "$username@$ipAddress" -pw $password

关键优化点:

  • 替换错误的固定主机密钥为-hostkey *,直接跳过首次验证和指纹检查
  • 用&直接执行Plink,替代风险较高的Invoke-Expression
  • 读取文件时添加-Raw和TrimEnd,避免换行符混入用户名/密码

如果需严格验证主机密钥,先执行plink.exe -ssh $username@$ipAddress获取正确的MD5指纹(首次连接时会显示),替换-hostkey *为完整指纹即可(注意不要有多余冒号)。

三、OpenSSH替代方案(原生无额外工具)

如果内网已启用OpenSSH客户端,可用原生命令实现,绕过验证的参数为StrictHostKeyChecking=no:

$ipAddress = "10.10.10.10"
$username = Get-Content -Path "你的用户名文件路径" -Raw | TrimEnd

# 优先推荐密钥登录(无需明文密码)
ssh.exe -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null `
    "$username@$ipAddress" -i "你的私钥文件路径"

注:OpenSSH默认不支持明文密码参数,内网环境建议用SSH密钥对替代密码登录,更安全且无需存储明文。

四、内网通用优化建议

  1. 参数化脚本:让用户可灵活传入IP、路径等参数
param(
    [Parameter(Mandatory=$true)]
    [string]$IpAddress,
    [string]$UsernamePath = "默认用户名文件路径",
    [string]$PrivateKeyPath = "默认私钥路径"
)

$username = Get-Content -Path $UsernamePath -Raw | TrimEnd
& "C:\Program Files\PuTTY\plink.exe" -batch -ssh -hostkey * "$username@$IpAddress" -i $PrivateKeyPath
  1. 错误处理:添加异常捕获,方便排查问题
try {
    & $plinkPath -batch -ssh -hostkey * "$username@$ipAddress" -pw $password
    if ($LASTEXITCODE -ne 0) {
        throw "连接失败,Plink退出码:$LASTEXITCODE"
    }
} catch {
    Write-Error "连接出错:$_"
}
  1. 替代明文密码:引导内网用户生成SSH密钥对,将公钥上传至远程设备,脚本用-i参数指定私钥即可免密登录。

内容的提问来源于stack exchange,提问作者meta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 09:51:02