SSH连接提示“Permission denied (publickey,password)”

问题:

        使用Jenkins,ssh到指定服务器执行脚本时,当SSH连接提示“Permission denied (publickey,password)”时,通常是因为远程服务器未能验证提供的公钥,可能是因为公钥没有被正确添加到远程服务器的~/.ssh/authorized_keys文件中。

步骤:将公钥添加到远程服务器

1. 获取公钥
  • 在Jenkins中,user对应的证书包含私钥(id_rsa)和公钥(id_rsa.pub)。
  • 需要从Jenkins凭据管理中获取公钥文件内容。
2. 将公钥添加到authorized_keys
  •  登录到host_name服务器,以下命令来添加公钥:
ssh-copy-id -i /path/to/your/publickey user@host_name
  • 如果你手动添加,可以按以下步骤进行:

  • 手动步骤

    • 在本地找到你的公钥文件(通常是id_rsa.pub,或从Jenkins中复制)。

    • 使用SSH登录到host_name服务器:

ssh user@host_name</
### 解决 VSCode SSH 远程连接服务器 Permission denied (publickey,password) 错误 对于VSCode通过SSH连接远程服务器时遇到`Permission denied (publickey,password)`错误的情况,可以通过几个方面来进行排查和修复。 确保本地使用的私钥文件权限设置正确。即使在终端中能够成功使用SSH连接至目标机器,在VSCode里可能会因为密钥文件权限不恰当而失败。应调整私钥文件的权限为只读模式: ```bash chmod 400 path_to_keys.pem ``` 如果上述操作仍未能解决问题,则可能是由于未将私钥添加到SSH代理之中。这一步骤可通过运行以下命令完成[^1]: ```bash ssh-add path_to_keys.pem ``` 另外一种可能性在于公钥并未被正确放置于远程主机上。为了使无密码登录成为可能,需确认公钥已存在于远程服务器上的`.ssh/authorized_keys`文件内。可利用`ssh-copy-id`工具简化此过程[^3]: ```bash ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_host ``` 还需注意的是,尽管已经完成了以上步骤,但如果SSH服务本身存在问题也会影响正常连接。因此建议先检查SSH服务的状态以及版本信息以排除潜在的服务层面障碍[^2]: ```bash sudo ps -e | grep ssh ssh -V ``` 最后,考虑到VSCode特有的配置需求,务必仔细核对并适当编辑VSCode中的SSH配置文件(`config`),保证其参数与实际情况相符,特别是针对Host条目的定义要精确匹配实际环境的要求。 综上所述,按照这些指导方针应该可以帮助克服VSCode下发生的`Permission denied (publickey,password)`难题。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值