Windows设置SSH出错,Permission denied (publickey),Error connecting to agent

20 篇文章 1 订阅

最近在设置nginx配置,由于云服务器是密钥登陆的,所以有一些问题。

前置环境:

安装Chocolatey

以管理员权限打开PowerShell运行Set-ExecutionPolicy AllSigned
输入 y 然后回车

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('[https://chocolatey.org/install.ps1](https://chocolatey.org/install.ps1)'))
安装OpenSSH

choco install openssh

接下来可以用直接设置密钥,可以参考在windows端生成。
使用 ssh-keygen 工具在当前目录下生成配对的公钥私钥: ssh-keygen -t rsa
然后把公钥pub上传至服务器,修改服务器配置即可。这个有很多博客讲过。
例如:https://www.cnblogs.com/chywx/p/11147172.html

Powershell配置流程:

已经在别的地方生成好文件,公钥已经部署在服务器中后,直接配置私钥文件。
打开C:\Users\<Username>\.ssh\config文件,添加以下内容:

Host servername #别名
    User username #远程服务器用户名,如root,ubuntu等
    Hostname 1xx.1x.1x.1x #服务器ip
    IdentityFile C:\Users\Username\.ssh\xxx.pem # 私钥位置

然后用管理员模式打开Powershell,ssh servername即可。

因为这个密钥是云服务器生成给我,并非我在本地生成的,因此出现了问题。
出现报错:Permission denied (publickey).

提示我要把密钥添加到系统中,运行ssh-add C:\Users\Username\.ssh\xxx.pem
出错:Could not open a connection to your authentication agent

在csdn中搜到的博客让我用ssh-agent bash解决,这是不对的。

尝试运行’ssh-add -L’后出现的错误:
Error connecting to agent: No such file or directory
说明ssh-add根本没有启动。

get-service ssh*查看一下, 果然没有启动,于是用Set-Service启动。

PS C:\Windows\system32> get-service ssh*

Status   Name               DisplayName
------   ----               -----------
Stopped  ssh-agent          OpenSSH Authentication Agent
Running  sshd               OpenSSH SSH Server


PS C:\Windows\system32> Set-Service -Name ssh-agent -StartupType Manual
PS C:\Windows\system32>  Start-Service ssh-agent
PS C:\Windows\system32> get-service ssh*

Status   Name               DisplayName
------   ----               -----------
Running  ssh-agent          OpenSSH Authentication Agent
Running  sshd               OpenSSH SSH Server

这下再运行ssh-add

PS C:\Windows\system32> ssh-add -L
The agent has no identities.
PS C:\Windows\system32> ssh-add <路径>
Identity added: <路径>(.\.pem)

成功,可以用ssh servername 直接登录。

其他

MobaXterm也可以通过配置登陆,打开session setting,在Advanced SHH settings选项卡中,填写
Use private key即可。
mobaXterm session setting

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

canmoumou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值