SSH配置踩坑记
SSH配置踩坑记
|2024-12-10|Last edited: 2024-12-10
type
status
date
slug
summary
tags
category
icon
password
前言: 为了配置计算机网络Lab3的环境,需要使用PKU Linux俱乐部提供的CLab。中间涉及到一些关于SSH的问题,撰此记录为方便以后遇到相似的问题使用
具体CLab的申请与创建过程不再赘述,详细查看快速上手 | PKU Clab 文档即可。
 

一、创建SSH密钥

由于CLab服务端已经配置好了ssh server,我们只需为服务器配置SSH密钥即可。
首先,在客户端执行
密钥类型有多种,CLab官方文档中使用的是ed25519,我们还可以使用rsa等类型。
如果命令执行成功,则会出现以下显示:
分别要求输入保存密钥的位置以及使用该密钥时对应的密码。
成功后在保存密钥的位置会出现id_rsa(id后为设置的密钥类型)和id_rsa.pub文件。
在服务端的~/.ssh文件夹下执行
并将id_rsa.pub的内容复制到其中即可。
 

二、设置反向代理

有时你可能需要在服务端进行git等其它需要科学上网的操作,此时在本机开启代理显然不能让服务端实现科学上网,此时需要开启反向代理,即在服务器上开一个端口,让这个端口把流量转发到本机的端口。
在服务端执行:
如果你使用clash,那么代理的默认端口就是7890。
或者可以直接修改.ssh/config文件
添加RomoteForward对应的那一行即可。
随后继续执行:
即可实现代理。
通过
等命令可以进行验证代理设置成功。
 
但是这里仍存在一些问题,有待解决:
notion image
在vscode中显示的转发端口为7891,但是实际上好像可以实现代理?
 
 

三、在VSCODE中进行SSH连接

在初次通过vscode连接时,会自动在服务器端安装vscode-server。
这里遇到两个小问题:
1、连接到服务器后,终端不是bash,而是install,并输出了一些服务器开始的log信息,如
这并不是报错,新开一个终端即可。
如果想要避免每次新开终端,在ssh的设置中关闭show login terminal即可
2、明明连接到了服务器,VSCODE左下角仍一直显示“正在连接到服务器”
这是VSCODE简体中文插件的问题,在服务器安装该插件,重新连接即可。
 

四、在SSH远程服务器上进行git操作

在Ubuntu中,进行git操作可能需要输入账号和密码,由于自2021年8月后,通过github不再支持通过密码认证,此时需要通过github > settings > Developer Settings 申请token,并把token作为密码进行认证。
同时,执行
时,可能会显示Permission denied(public key)。
此时需要你在服务器同(一)中创建一个ssh密钥,并配置到github中即可。
 
操作系统
Loading...