【使用参考】如何连接服务器-使用ssh密钥对登录
前言
一般来说,由于人员记忆能力有限,用户往往不会设置复杂的密码,从而使账户存在安全隐患。
对于普通用户而言,这样的安全隐患仅存在于个人账户上,即使密码泄露也不会对服务器整体造成较大影响;
但对于管理员用户或是其他拥有sudo权限的用户而言,账户一旦被盗用,整台服务器都将受到攻击,会产生较大的损失。
相比于“用户名-密码”的登录方式而言,密钥登录只要私钥文件不被盗取,一般情况下都能够保证账户安全,因此建议使用ssh生成密钥对登录账户,并为账户设置更复杂的密码。
使用ssh生成密钥对
命令:ssh-keygen
预期结果:
Generating public/private rsa key pair.
Enter file in which to save the key ([user]/.ssh/id_rsa): <==有需要可在这里修改
Enter passphrase (empty for no passphrase):[直接回车]
Enter same passphrase again:[直接回车]
Your identification has been saved in [user]/.ssh/id_rsa. <==这是私钥
Your public key has been saved in [user]/.ssh/id_rsa.pub. <==这是公钥
The key fingerprint is: *****
The key's randomart image is: [会在命令行里看到一个图]
在服务器安装公钥
如果生成密钥对是在服务器上进行,直接使用以下命令进行安装:
~ $ cd .ssh
~/.ssh $ cat id_rsa.pub >> authorized_keys
完成公钥安装后,将id_rsa私钥下载到本地。
如果生成密钥对是在本地进行,则可以在服务器创建“.ssh”目录,然后将生成的“id_rsa.pub”上传至“.ssh”目录中,最后使用上述命令安装公钥。
配置密钥连接
使用MobaXterm
在MobaXterm设置密钥连接服务器时,各项基础设置与使用密码连接服务器【从零开始的Linux服务器管理】如何连接服务器-使用用户名和密码连接中的设置相同。
在完成基础设置后,选择页面中的“Advanced SSH settings”选项卡,勾选“Use private key”,并在右方输入私钥的存放位置。
如果使用到跳板机,则同样可以为跳板机设置密钥,勾选“Use SSH key”并输入私钥存放位置即可使用密钥连接跳板机。
使用VS Code
打开“~/.ssh/config”文件,修改为如下形式:
Host [这里填写服务器名称]
HostName [这里填写服务器IP]
User [这里填写用户名]
Port [这里填写端口,一般用22即可]
IdentityFile [服务器私钥路径]
如果使用跳板连接服务器,则将config文件设置为
Host [这里填写跳板机名称]
HostName [这里填写跳板机IP]
User [这里填写跳板机用户名]
Port [这里填写跳板机端口]
IdentityFile [跳板机私钥路径]
Host [这里填写服务器名称]
HostName [这里填写服务器IP]
User [这里填写服务器用户名]
Port [这里填写服务器端口]
ProxyCommand ssh -W %h:%p [跳板机名称]
IdentityFile [服务器私钥路径]
设置正确后,使用VS Code连接服务器将无需输入密码。
特别应该注意的是,在个人实验中,如果私钥保存位置与config文件不存在于同一个~/.ssh/
目录下,私钥将无法正确使用(即连接时依然要输入密码)。
分类:
Linux服务器使用参考
标签:
使用参考
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端