ssh免密登录ubuntu远程服务器

本地环境:windows
远程服务器:ubuntu
每次使用vscode登录远程服务器ubuntu时,都要输入密码,切换个工作目录也要输入密码,相当之麻烦。ssh免密登录ubuntu远程服务器,会方便得多,特别是在多台远程服务器之间切换。
简单两步即可设置好:
step1:windows本地生成密钥
在windows的cmd命令窗口,执行如下命令生成密钥并保存到windows用户文件夹的.ssh目录下,如:C:\Users\your-user.ssh\id_rsa.pub:

ssh-keygen -t rsa -b 4096

如没有ssh-keygen命令,安装openssh客户端。或参考:https://code.visualstudio.com/docs/remote/troubleshooting#_installing-a-supported-ssh-client
step2:复制密钥到ubuntu远程服务器
在windows的cmd命令窗口,执行如下命令,把windows本地的公钥文件id_rsa.pub复制到ubuntu远程服务器。

ssh-copy-id -i "$PUBKEYPATH" "$USER_AT_HOST"

例子:将C盘中的公钥id_rsa.pub复制到odoo@8.106.28.37

ssh-copy-id -i "C:\Users\your-user\.ssh\id_rsa.pub" "odoo@8.106.28.37"

如没有ssh-copy-id命令,可以在这里下载:https://download.csdn.net/download/ghs675533291/10941955
更详细的设置方法可参见vscode官网:https://code.visualstudio.com/docs/remote/troubleshooting#_configuring-key-based-authentication


2020.8.30补充:
上面的方法是对我的手提电脑成功设置,但在家中台式电脑上生成密钥时却报错:unknown key type rsa
如下图:
在这里插入图片描述
经查,是家中台式电脑win10里面预装的OpenSSH是Beta版本,该版本仅支持ed25519加密类型,不支持dsa,rsa,ecdsa等加密类型。详见:https://github.com/PowerShell/Win32-OpenSSH/issues/1001

解决办法:
step1:windows本地生成密钥
在windows的cmd命令窗口,执行如下命令生成密钥并保存到windows用户文件夹的.ssh目录下,如:C:\Users\your-user.ssh\id_ed25519.pub:

ssh-keygen

step2:复制到远程服务器
在windows的cmd命令窗口,执行如下命令:

scp id_ed25519.pub  odoo@8.106.28.37:/home

step3:将公钥追加到远程服务器的authorized文件中

cat /home/id_ed25519.pub >> /root/.ssh/authorized_keys

然后就可以免密登录。在windows的cmd中执行:

ssh odoo@8.106.28.37

或在vscode中免费登录。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值