SSH使用公钥免密登录服务器

本文提供了一步步的指南,教你如何通过SSH公钥实现本地计算机无密码登录服务器。首先确保服务器已安装SSH服务和本地计算机安装了GIT。接着,本地创建并配置SSH公钥和私钥,可以选择性地将公钥添加到GitHub。然后,将本地公钥复制到服务器,并通过SSH尝试无密码登录。成功后,你将能够便捷地免密登录服务器。

1.准备工作

(1)服务器已经安装SSH服务

能够SSH连接即可

(2)本地计算机安装GIT

未安装的可以使用该下载链接安装

2.本地计算机创建公钥

两种方式,在本地计算机创建公钥和私钥

(1)配置本地计算机公钥、私钥

ssh-keygen -t rsa

执行创建公钥命令后会依次出现以下选项代码,全部直接回车默认即可

Enter file in which to save the key (/c/Users/admin/.ssh/id_rsa)
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

得到以下代码,证明公钥、私钥创建完成
在这里插入图片描述

(2)配置GitHub公钥、私钥

如果不需要配置GitHub,可直接跳过该步骤
在该命令中,"Deeachain@163.com"替换为自己的GitHub登录邮箱,方便配置GitHub公钥登录使用。

ssh-keygen -t rsa -C "Deeachain@163.com"

所有操作跟方式(1)一致

3.上传本地公钥到服务器

在以下命令中,填写自己使用的服务器ip和登录用户名

ssh-copy-id dingcheng@10.255.249.156

出现以下字段,可以忽略。最后一行提示输入登录密码在这里插入图片描述
输入密码后,提示公钥添加完成,则配置成功。
在这里插入图片描述

4.测试是否成功

使用以下命令登录服务器,不再需要输入用户名密码。

ssh dingcheng@10.255.249.156
### 配置 VSCode 使用 SSH 免密登录远程服务器 #### 安装 Remote-SSH 插件 为了使 Visual Studio Code (VSCode) 支持通过 SSH 进行远程开发,需先安装官方提供的Remote-SSH插件。这一步骤可通过访问VSCode内置的扩展市场完成,在搜索栏输入 "Remote - SSH" 并点击安装按钮[^3]。 #### 生成本地 SSH 密钥对 如果尚未拥有SSH密钥,则应在本地计算机上生成一对新的SSH密钥。对于 Windows 用户来说,可以通过 Git Bash 或者其他支持 OpenSSH 的终端工具来进行操作: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 上述命令会提示指定保存位置,默认情况下建议接受;接着设置密码保护私钥文件的安全性(可选),最后确认生成公私钥对[^2]。 #### 将公钥复制至目标 Linux 主机 接下来要把刚刚创建好的公钥追加到远程机器上的`~/.ssh/authorized_keys` 文件内。可以借助 `ssh-copy-id` 工具简化此过程: ```bash ssh-copy-id user@remote_host_ip ``` 这里需要替换实际用户名(`user`)以及对应的IP地址(`remote_host_ip`)。首次运行时可能会被询问对方主机指纹验证及当前用户的密码,之后便能顺利添加成功[^1]。 #### 修改 SSH 配置文件 编辑位于用户目录下的 `.ssh/config` 文本文件,为特定的目标主机定义别名和其他必要的参数,例如端口号、身份认证方式等。下面是一个简单的例子: ```plaintext Host myserver HostName remote_host_ip User username IdentityFile ~/.ssh/id_rsa ``` 这样做的好处是可以减少每次连接所需输入的信息量,并且指定了用于识别的身份文件路径[^4]。 #### 测试免密登录功能 现在应该可以从本地直接尝试无密码形式建立与远程系统的SSH会话了。打开任意类型的shell窗口并键入如下指令检验效果: ```bash ssh myserver ``` 假如一切正常的话,应当立即进入到了远端Shell环境中而无需再次提供任何凭证信息[^5]。 #### 在 VSCode 中启动远程工作区 返回到Visual Studio Code界面里边,按下快捷组合键 Ctrl+Shift+P 调出命令面板,从中挑选 “Remote-SSH: Connect to Host...”,按照屏幕指示选取之前设定过的别名 (`myserver`) 来开启一个新的远程会话。此时应自动加载已有的SSH配置项从而顺利完成整个流程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值