sshsshundefinedssh-copy-id
1. 插件安装:Remote-SSH
如图所示,extension 输入remote,点击安装。安装完毕后重新加载(或者重新启动),能看到界面左侧侧边栏多了一个图标。
因为我已经完成配置,所以我的列表不是空的。然后点击 SSH 栏的设置按钮,会弹出窗口要求输入希望读取的配置文件路径。
/home/your-username/.ssh/config/etc/ssh/ssh_config
2. 插件配置
第一次打开 config 文件应当是空的。config 文件是 VScode 连接远程服务器的配置文件,需要你在里面写相应的信息:
主要配置字段 | 含义与备注 |
---|---|
Host | 在VScode上标识不同的主机名,自定义就可以 |
HostName | 远程主机的域名或者IP,test@example.com 或者 xxx.xxx.xx.x |
User | 顾名思义,你的用户名 |
Port | 端口号 |
ProxyJump(*) | 跳转的中间 Host |
IdentityFile(*) | ssh-key文件 |
ssh-key
对于一次连接的服务器,这里提供一个示例。
Host xxxxx
HostName 000.000.000.000
User xxx
Port 22
点击保存,然后重启 VScode,或者点侧边栏 remote 的刷新按钮,这个时候 SSH 的列表里应该就会出现你需要连接的服务器了。
3. 如何通过 ssh-key 免去输入密码的烦恼?
ssh-keygen
~/.ssh/id_rsa
Enter passphrase : 一个增强安全性的密码,可以不填,直接回车;
然后就会提示你已经保存成功~
接下来你需要做的事情,就是让这个密钥对(包括公钥(.pub)、私钥)代替密码成为远程服务器识别你的身份的工具。
ssh-copy-id
$ ssh-copy-id xxx@example.com
这个操作会将本地的公钥发放到远程服务器上。在执行这个命令的过程中需要你输入服务器账号的密码,来验证你的身份。正常情况下执行成功后会有类似于如下字段:
$ you can try "ssh xxx@example.com" to check ...
然后直接连接,应该就没有问题了~
ssh-copy-id
/home/xxx/.ssh//home/authorized_keys
.pubssh-rsa
IdentityFile=(your path)id_rsa.pubid_rsa
然后就可以愉快地一键登陆啦~
4. 配置含有中间服务器的 ssh-key
4.1 手动输入密码登录的配置方法
config
Host whateveryoulikeforb
HostName B
User username
Port bport
Host whateveryoulikeforc
HostName C
User username
# 可能没有 port 选项,如果你不确定可以问一下给你账号的人
ProxyJump B # 加上这一句,很本质
4.2 自动登录(仍然用 ssh-key 的方法)
ssh-keygen/home/xxx/.ssh/authorized_keys/home/xxx/.ssh/authorized_keys
Host whateveryoulikeforb
HostName B
User username
Port bport
IdentityFile ~/.ssh/id_rsa
Host whateveryoulikeforc
HostName C
User username
# 可能没有 port 选项,如果你不确定可以问一下给你账号的人
ProxyJump B # 加上这一句,很本质
IdentityFile ~/.ssh/id_rsa # 两个远程服务器上存储的公钥相对路径都是 ~/.ssh/id_rsa
然后回到 VScode 主界面,点击服务器列表上的连接,就可以一键登录直接使用了!
5. 备注
我也是第一次接触到远程服务器的使用,下午查了很多资料,关于 jumpserver 的配置好像没有很多文章涉及到,于是我就自己写下来了(当然可能是我没有找到)😄
所以如果这篇文章有帮到你,记得点赞 doge
或者你在配置的时候遇到了什么问题以及为可能哪里写错了,欢迎 dd 我改正 orz~