背景

每次都要 ssh -i "$env:USERPROFILE\.ssh\home_pc" -N -L 3307:127.0.0.1:3306 root@xxx.xx.xxx.xx 后输入密码,经常更新代码后就断开,嫌麻烦

方案

尝试执行

ssh-add "$env:USERPROFILE\.ssh\home_pc"

它会让你输入一次 home_pc 私钥的密码。

之后你的原命令基本就可以直接用了:

ssh -i "$env:USERPROFILE\.ssh\home_pc" -N -L 3307:127.0.0.1:3306 root@xxx.xx.xxx.xx

我执行后,提示:Error connecting to agent: No such file or directory

这个报错说明 Windows 的 ssh-agent 没有正常运行。我们直接把它启动起来即可。

在 PowerShell 里,按顺序执行:

Get-Service ssh-agent

看到

Status   Name
------   ----
Stopped  ssh-agent

84559-gvnp8hjy5ue.png

用管理员 PowerShell 执行

Set-Service -Name ssh-agent -StartupType Manual

再运行

Start-Service ssh-agent

然后检查:

Get-Service ssh-agent

正常应该变成:

Status   Name
------   ----
Running  ssh-agent

然后就可以添加你的 SSH 私钥

ssh-add "$env:USERPROFILE\.ssh\home_pc"

输入你的密码就成功啦!

之后就可以直接用连接了!

ssh -i "$env:USERPROFILE\.ssh\home_pc" -N -L 3307:127.0.0.1:3306 root@xxx.xx.xxx.xx