ssh 免密码连接服务器
2021/4/24 18:56:09
本文主要是介绍ssh 免密码连接服务器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 闲话
- 准备
- 生成密钥
- 服务器配置
- 把公钥放在服务器
- 把公钥写入authorized_keys
- 修改配置文件开启密钥验证
- 设置权限
- 结束,ssh测试一下
闲话
因为咱一开始连服务器都是手动ssh连的,xshell那个软件用了一下就没用过,还不是免费,所以也没打算用它。于是每次连服务器的时候都是cmd打开,ssh输入一长段命令然后回车再输入一长串密码,好麻烦。
前几天捣鼓vsc的时候注意到左侧栏第五个远程资源管理器,然后百度了下,捣鼓了下发现挺好用的,不用输入那么多东西了,但是还要输密码
然后又发现了可以通过自己的密钥实现免密码连接,捣鼓了下,舒服了
不过现在服务器还没建图床,md文件里面的图片不太好传,就只记一下密钥实现免密码连接吧,应该不怎么需要图片。
准备
1.ssh
2.好像没了?
本地和服务器都要安装ssh,这些东西的安装方法百度一大堆,就不说了,服务器那边当然也要开启ssh的服务和22端口,上面百度到的里面应该也有讲,略过
生成密钥
首先,如果本地还没连过服务器的话,建议先手动ssh连一下服务器,存一下服务器的公钥什么的,之后设置known_hosts就不用设置了。(本博文不提供known_hosts设置方法 其实主要是因为咱也没搞懂这块)
打开命令行,输入
ssh-keygen
然后三个回车,完事。其中第一个回车确认的是生成密钥公钥的存放位置,第二个是设定密码,第三个是确认密码,默认是空,也就是没密码,如果输入了,之后每次连似乎还是要输密码,当然也更安全,不过我这种小用户也不用太过担心。所以我全是默认。
C:\Users\W8362>ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\W8362/.ssh/id_rsa): Created directory 'C:\Users\W8362/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in C:\Users\W8362/.ssh/id_rsa. Your public key has been saved in C:\Users\W8362/.ssh/id_rsa.pub. The key fingerprint is: d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local
类似于上面这样
linux的默认路径是/home/schacon/.ssh/id_rsa
完了之后去默认目录下就能看到了,其中私钥是保存在自己这边;公钥,也就是后缀是.pub的文件是保存在服务器那边,具体的待会讲
服务器配置
把公钥放在服务器
就是本地那个路径下生成的.pub的那个文件,随便怎么放过去(scp?),随便放在哪,不过反正我放在了.ssh文件夹下面,方便之后操作(我上传过去顺便改名成my_pc_id_rsa.pub)
# ls ~/.ssh authorized_keys my_pc_id_rsa.pub
把公钥写入authorized_keys
随便怎么写入,咱是这样写的
cat my_pc_id_rsa.pub >> authorized_keys
修改配置文件开启密钥验证
编辑配置文件
vim /etc/ssh/sshd_config
有就修改,没有就加,把这几项修改成这样:(善用查找指令)
AddressFamily inet PermitRootLogin yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication yes
PermitRootLogin 、 PubkeyAuthentication 这两项是要修改成yes,PermitRootLogin 是允许root用户认证登录,而PubkeyAuthentication 是启用公钥认证。AuthorizedKeysFile是公钥路径,生成的。最后把PasswordAuthentication yes就允许密码登录,保存重启ssh服务。
设置权限
ssh目录的权限700;
ssh/authorized_keys文件权限600;
chmod 600 authorized_keys cd .. && chmod 700 -R .ssh
结束,ssh测试一下
# ssh root@**.**.**.** Last login: Sat Apr 24 17:23:37 2021 from **.**.**.** Welcome to Alibaba Cloud Elastic Compute Service !
顺带一提,vsc里面配置远程资源管理器也挺简单的,安装插件Remote - SSH,再设置一下
Host ali_cloud (随便起) HostName **.**.**.** User root
就好了
以上
这篇关于ssh 免密码连接服务器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南