将其它地方的信息迁移过来

This commit is contained in:
2025-03-22 14:25:52 +08:00
parent 5b3f879c54
commit 52a6ddc2fd
7 changed files with 204 additions and 5 deletions

View File

@@ -219,4 +219,66 @@ SMB 就是 Windows 共享文件夹或者共享打印机的那个协议,客户
### 使用 SSH 在服务器之间建立连接
待补充。
要在两个服务器之间传输文件:
1. 登陆第一个服务器时,启用 SSH agent forwarding或者将自己的密钥保存到第一个服务器上。具体操作参考上述内容。
2. 在那之后,就可以直接从第二个服务器下载文件到第一个服务器上,例如(假如你已登陆 `srv1`
```bash
rsync -rlP srv2.chn.moe:~/myfile.txt .
```
这样就可以了。
要借助第一个服务器登陆第二个服务器,既可以像上面那样先登陆第一个,然后再登陆第二个,也可以用一个命令完成(本质是一样的):
```bash
ssh -J srv1.chn.moe srv2.chn.moe
```
我管理的服务器之间有 wireguard 相连,可以临时借助它绕过厦大 VPN 连接进来,例如:
```bash
ssh -J vps6.chn.moe wireguard.srv2.chn.moe
```
上面这个功能在 PuTTY 中大概这样设置:
1. 首先设置一个名为 `vps6` 的会话。
1. 在 Session 页,填入 `vps6.chn.moe` 作为 Host Name。
2. 在 Connection -> SSH -> Auth -> Credentials 页,在 “Private key file for authentication“ 选择密钥文件。
3. 在 Connection -> Data 页,在 “Auto-login username” 填写用户名。
4. 回到 Session 页,在 “Saved Sessions” 填入 `vps6` 并点击 “Save” 保存配置。
2. 再设置一个名为 `wireguard.srv2` 的会话。
1. 在 Session 页,填入 `wireguard.srv2.chn.moe` 作为 Host Name。
2. 在 Connection -> SSH -> Auth -> Credentials 页和 Connection -> Data 页,需要修改的设置与在 `vps6` 会话中相同。
3. 在 Connection -> Proxy 页,设置 Proxy type 为 `SSH to proxy and use port forwarding`Proxy hostname 为 `vps6`
4. 回到 Session 页,在 “Saved Sessions” 填入 `wireguard.srv2` 并点击 “Save” 保存配置。
之后双击双击 `wireguard.srv2` 会话即可连接到学校的服务器。
在 WinSCP 中大概这样设置:
1. 在登陆界面,点击 “新建站点”。
2. 设置 “文件协议” 为 `SCP`,“主机名” 为 `wireguard.srv2.chn.moe`,并输入用户名。
3. 然后点击右下角 “高级” 继续修改设置。
4. 在 连接 -> 隧道 页,勾选 “通过 SSH 隧道进行连接”,主机名填写 `vps6.chn.moe`,选择密钥文件,并填写用户名。
5. 在 SSH -> 验证 页,选择密钥文件。
6. 点击 “确定”,再点击 “保存”。
### 使用 SSH 转发端口
SSH 转发端口的功能分三种:
将本地某个端口转发到远程、将远程的某个端口转发到本地(就是前者反过来),以及在本地建立一个 SOCKS 代理,让所有流量都通过远程服务器(所谓的动态转发)。
比如,我在校外,需要下载某个厦大买了的论文(或者用厦大的 IP 做什么别的事情),
就可以连接到厦大的服务器(用什么办法都可以,比如用厦大 VPN或者通过别的机器跳转然后在本地建立一个 SOCKS 代理:
```bash
ssh -D 4324 jykang@hpc.xmu.edu.cn
```
之后在浏览器或系统中设置 SOCKS 代理为 `127.0.0.1:4324`,就可以通过厦大的 IP 访问了。
用 PuTTY 也可以设置这个功能。我记得我写过这个功能的教程,但是找不到了,有需要的就自己摸索吧。