连接服务器免密登录

最近几天实验室服务器经常连接中断,每次中断后我要重新输入一遍密码,密码因为安全设置的也不短,每次熟真的很累。于是想起来之前师兄说可以设个密钥什么的,刚刚成功实践了下,记录一下。


本次教程建立在VS Code+Remote-SSH插件开发环境。本地环境是Windows,远程环境是Linux的普通用户,非root。

第一步:本地生成公钥和密钥

打开C:\Users\你的用户名文件夹,中文Windows系统是C:\用户\你的用户名文件夹,如:C:\Users\xxx;

在上述目录找到.ssh文件夹,若不存在,新建一个;

在.ssh目录启动命令行,有两种方式:

方法一:打开cmd,切换到该文件夹下
方法二:在该文件夹空白处,按住shift键盘右击→在此处打开powershell窗口

输入:

ssh-keygen -t rsa

一直回车,如下图本地就成功了:
在这里插入图片描述这时你会看到文件夹下生成了两个文件,id_rsa和id_rsa.pub,id_rsa.pub便是公钥,后面我们主要用它。
在这里插入图片描述

第二步:服务器

  1. 连接到你的远程服务器,如使用Xshell+Xftp或MobaXterm,同样地,找到home\用户名.ssh文件夹(没有的话使用命令mkdir .ssh新建);
  2. 若有.ssh文件夹,查看其中是否包含名为authorized_keys的文件,若无,使用touch authorized_keys命令创建;
  3. 打开上述authorized_keys文件,使用vim或gedit都可以,将本地Windows系统上我们创建的id_rsa.pub里面的内容拷贝到authorized_keys中保存即可。

PS:记得在Remote-ssh中配置远程服务器的信息,如下图在这里插入图片描述
到这里应该大部分就结束了,试验一下vscode连接对应服务器应该就不用输入密码了

第三步(扩展):多台电脑连接服务器

因为我日常用台式机,但经常需要用笔记本开会,或者回家的时候肯定用不了台式机,因为需要两台电脑切换着使用。于是想两个电脑都免密登录。中间踩了坑不过还是解决了。
基本步骤和上面一样,本机电脑生成公钥私钥,将公钥复制到服务器authorized_keys文件下,注意是复制粘贴到最后,不是直接替换。最好换行再复制。这样等于服务器上多了一个你本地的公钥,同时也不影响之前别的设备的配置,达到多一个设备免密的效果。
不过到这里还不算完,我就是这样试了好多遍失败了,以为是复制粘贴换行原因,其实不是,主要是权限的问题。
在进行完上述操作后,最后还要设置一下权限。

chmod 700 .ssh
chmod 600 authorized_keys

此时应该多台电脑都可以免密访问服务器啦,可以愉快编程了。
关于权限的解释可以看下这篇文章

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值