【生成密钥免密登陆服务器】

实现Windows VScode免密登录服务器(Linux免密登录服务器同理)

首先,先在 Windows 的 powershell 里面输入以下命令生成秘钥

ssh-keygen

接下来根据提示为私钥添加密码,一般情况可以直接 Enter 两次跳过,如若情况特殊可自行设置密码

生成的秘钥分为公钥和私钥两种,接下来需要将刚才生成的公钥 id_rsa.pub 写入到服务器的 authorized_keys 中

ssh-copy-id -i ./.ssh/id_rsa.pub username@IP

若在Windows CMD 中有报错无法识别 ssh-copy-id 命令,则可使用以下 1 或 2 两种方法解决:

  1. 在power shell中输入以下内容,然后再重新输入以上命令
function ssh-copy-id([string]$userAtMachine, $args){   
    $publicKey = "$ENV:USERPROFILE" + "/.ssh/id_rsa.pub"
    if (!(Test-Path "$publicKey")){
        Write-Error "ERROR: failed to open ID file '$publicKey': No such file"            
    }
    else {
        & cat "$publicKey" | ssh $args $userAtMachine "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys || exit 1"      
    }
}
  1. 可以将上述的写入命令(ssh-copy-id)在Git Bash中运行

使用私钥登陆到主机

ssh username@IP -p 端口号 -i id_rsa

至此,就可以在终端使用ssh免密登录服务器了

若需要使用VScode进行远程连接,
则需要在VScode上安装remote SSH的相关插件
在Windows中的.ssh文件下编辑congfig文件(用vscode打开),格式如下:

Host 255.255.255.255 # 改为你主机的IP
  HostName 255.255.255.255 # 任意,只是用来区别其他服务器
  User username # 服务器登录的用户名
  Port 22 # 一般不用改,如果知道服务器用的其他端口就改改
  IdentityFile "C:\Users\username\.ssh\id_rsa" # 把这个路径替换为自己存放id_rsa的路径
  #记得要Ctrl+S保存!别改完就跑了

编辑完成后关闭重开 VScode 就可以在左侧的 remote SSH 插件中找到刚才添加的服务器了,点击进入即可免密登录。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值