要在VSCode中实现免密SSH连接CentOS,随笔
目录
1. 确保你的本地计算机上已经安装了Visual Studio Code和OpenSSH客户端
前提:CentOS 系统,没有生成过密钥。
1. 确保你的本地计算机上已经安装了Visual Studio Code和OpenSSH客户端
2. 在CentOS上创建SSH密钥对
2.1 安装OpenSSH
确保你已经在CentOS上安装了OpenSSH服务器。如果尚未安装,请使用以下命令安装:
# sudo yum install openssh-server
[root@bogon etc]# yum install openssh-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.bupt.edu.cn
* extras: mirrors.bupt.edu.cn
* updates: mirrors.huaweicloud.com
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
Package openssh-server-7.4p1-23.el7_9.x86_64 already installed and latest version
Nothing to do
[root@bogon etc]#
2.2 生成SSH密钥对
[root@bogon .ssh]# cd /root/.ssh/
[root@bogon .ssh]# ll
total 4
-rw-r--r--. 1 root root 879 Nov 13 16:21 known_hosts # 没有SSH 秘钥对
[root@bogon .ssh]#
# 生成 SSH 秘钥
# ssh-keygen -t rsa
[root@bogon etc]#
[root@bogon etc]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:YJxJwU2osoijrwGN4bwYw9CCPR0SMJ0yIwsBonLnZ7c root@bogon
The key's randomart image is:
+---[RSA 2048]----+
|B+oo..o=. |
|X+oo +oo. |
|X== o.* |
|B*.+.. . |
|*=.o. o S |
|*oo o . . |
|+o E |
|.. |
|.o. |
+----[SHA256]-----+
[root@bogon etc]#
[root@bogon etc]# cd /root/.ssh/
[root@bogon .ssh]# ll
total 12
-rw-------. 1 root root 1675 Nov 15 15:54 id_rsa
-rw-r--r--. 1 root root 392 Nov 15 15:54 id_rsa.pub
-rw-r--r--. 1 root root 879 Nov 13 16:21 known_hosts
[root@bogon .ssh]#
2.3 确认生成一对RSA密钥
# 生成一对RSA密钥,包括私钥和公钥,默认存储在~/.ssh/目录下
[root@bogon .ssh]# pwd
/root/.ssh
[root@bogon .ssh]#
[root@bogon .ssh]# cd ~/.ssh/
[root@bogon .ssh]# ll
total 8
-rw-------. 1 root root 1675 Nov 15 12:56 id_rsa
-rw-r--r--. 1 root root 392 Nov 15 12:56 id_rsa.pub
[root@bogon .ssh]#
2.4 创建 authorized_keys
在 /root/.ssh 目录下创建一个 authorized_keys
# 创建 authorized_keys
[root@bogon .ssh]# pwd
/etc/.ssh
[root@bogon .ssh]#
[root@bogon .ssh]#
[root@bogon .ssh]# ll
total 0
[root@bogon .ssh]#
[root@bogon .ssh]# vi /root/.ssh/authorized_keys
2.5 配置VScode 免密登录
本地公钥地址:C:\Users\<username>\.ssh
本地公钥复制到 linux /root/.ssh/authorized_keys 中
本地公钥复制到 linux /root/.ssh/authorized_keys 中
到此 vscode 免密登录 Linux
3. vscode 免密登录 Linux 失败原因分析
3.1 本地曾经连接过 服务器,因种种原因比如重装系统后,再次配置时,vscode 连接失败
将本地的 known_hots 文件中 此服务器信息删除即可
knows_host 位置:C:\Users\<username>\.ssh
到此vscode 连接 linux 成功