报错 | 2023新版IDEA/PyCharm连接远程服务器的Docker需使用密钥认证

文章目录

  • [01 问题情景](#01 问题情景)
  • [02 需求场景及工作原理](#02 需求场景及工作原理)
  • [03 解决步骤](#03 解决步骤)
    • [3.1 在本地生成密钥对](#3.1 在本地生成密钥对)
    • [3.2 将公钥保存至服务器](#3.2 将公钥保存至服务器)
    • [3.3 本地连接时选择私钥文件](#3.3 本地连接时选择私钥文件)

网上有很多文章讲怎么解决,但都要么写得很复杂,要么没有写明白原理或操作详情,造成我一头雾水。

01 问题情景

在之前版本的代码编辑器中,连接远程服务器并访问Docker只需要服务器的账号和密码即可,然而更新到2023.3版本之后,提示要密钥才可以访问服务器上的Docker。

Cannot connect: java.lang.llegalArgumentException: Only key-pair ssh auth type is supported for docker connections.

翻译:

无法连接:java.lang.IllegalArgumentException:对于Docker连接,仅支持密钥对SSH认证类型。

02 需求场景及工作原理

现在的场景是:

  • 有一台远程服务器,Linux系统,系统上装有Docker
  • 本地系统是Windows操作系统(>= win10)
  • 需要在本地windows上的IDEA等代码编辑器上连接到远程的Linux并访问其中的Docker

在这一场景下编辑器提示仅支持密钥对SSH认证类型

方案及原理

  • 在Windows本地生成一个公钥和私钥
  • 将私钥留存在本地
  • 将公钥保存到远程服务器
  • 在IDEA中连接远程服务器时选择本地的私钥文件,实现连接

03 解决步骤

3.1 在本地生成密钥对

打开CMD,输入ssh-keygen,按提示操作:

> ssh-keygen
# 01 提示密钥对的保存位置,直接回车即可 这会将密钥对保存在C:\Users\xxx/.ssh/id_rsa目录下
Enter file in which to save the key (C:\Users\xxx/.ssh/id_rsa):
# 02 输入访问密码 如果直接回车 表示无需密码 也可以输入密码 双重保险
Enter passphrase (empty for no passphrase):
# 03 确认密码
Enter same passphrase again:
# 提示密钥生成成功
Your identification has been saved in C:\Users\xxx/.ssh/id_rsa
Your public key has been saved in C:\Users\xxx/.ssh/id_rsa.pub

3.2 将公钥保存至服务器

密钥对生成成功后,到其所在的文件夹,这里是C:\Users\xxx/.ssh/id_rsa目录下:

可以看到有这两个文件

其中:

  • id_rsa是私钥,保存在本地
  • id_rsa.pub是公钥,需要复制到服务器

使用记事本打开公钥id_rsa.pubCtrl+A全选其中的内容,复制。

然后到服务器的/root/.ssh目录下,将内容粘贴到该目录下的authorized_keys文件中。

bash 复制代码
cd /root/.ssh
vim authorized_keys

如果有其他公钥需要保存,也是如此操作,换行后粘贴,每个公钥一行。

记得编辑完后保存该文件。

3.3 本地连接时选择私钥文件

这样,在连接时选择Key pair,私钥文件选择id_rsa,就可以连接了(如果创建密钥对时设置了密码,这里还需要输入密码)。

🎉🎉🎉

相关推荐
热爱嵌入式的小许4 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
一个闪现必杀技7 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
韩楚风8 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学8 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO8 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu79 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
我是哈哈hh9 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
郭二哈9 小时前
C++——模板进阶、继承
java·服务器·c++
挥剑决浮云 -9 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
立秋678910 小时前
Python的defaultdict详解
服务器·windows·python