SSH远程连接
1. SSH命令行登录
在终端输入以下命令后,按回车键执行命令。
这里的各个部分解释如下:
-p 22: 指定SSH服务使用的端口号,默认情况下SSH服务监听的就是22端口。如果远程服务器更改了SSH端口,此处需要填写实际端口号。username: 远程服务器上你的用户名,即你在服务器上的登录名。host/ip: 远程服务器的域名或者IP地址,例如example.com或192.168.1.100。
注意
课题组的GPU服务器统一设置为认默端口22,可以省略-p 22 参数,直接使用 ssh username@host/ip 登录。
在终端中使用命令行连接远程服务器
使用VSCode连接远程服务器
2. SSH秘钥登录
SSH秘钥登录
为了安全起见,强烈建议在服务器配置SSH秘钥登录,随机生成的密钥安全强度要远远高于密码登录。
不建议使用保存密码的方式登录远程服务器,即使使用Xshell、PyCharm等默认存储密码的软件,也应当选择使用密钥登录。
此外,若在未配置密钥情况下使用Windows Terminal、VS Code,每次连接服务器都要输入密码。
3. SSH Config文件配置
SSH的 config文件可以帮助你管理多个SSH密钥和简化主机连接配置。
首先定位到 ~/.ssh/config文件,用文本编辑软件打开并再尾行附加新的服务器配置信息;如果没有该文件,则需要创建一个然后添加服务器配置信息。
配置示例
ini Host 3090 HostName 服务器IP或网址链接 User 用户名(全英文)
ini Host xxx.xyz HostName xxx.xyz Port 222 User git IdentityFile ~/.ssh/id_rsa_git # 替换成你的私钥文件路径 PreferredAuthentications publickey
ini Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_git # 替换成你的私钥文件路径 PreferredAuthentications publickey
上述配置意味着当你连接到 github.com或相关主机时,SSH将自动使用指定的私钥文件进行认证。这样,如果你有多对密钥,可以根据不同的Git服务或服务器分别配置,从而实现一键登录和操作不同仓库。
4. 终端软件推荐
| 软件名 | 介绍 | 优点 | 缺点 | 安装方式 |
|---|---|---|---|---|
| Windows Terminal | Windows11系统默认终端软件 | 1. 能够读取、编辑和使用系统SSH Config文件<br > 2. 自动优先使用本地SSH秘钥登录远程服务器 |
1. 使用Visdom、Tensorboard等本地可视化工具时,需要手动输入命令行来配置端口转发规则(建议配合VS Code使用) | Win11自带<br > Win10先在开始菜单搜索 Windows Terminal,找不到再去Microsoft Store进行安装 |
| Termius | 支持Windows / macOS / Android / iOS全平台的终端软件。Github认证学生身份后Termius将拥有支持多端同步的Pro版本 | 1. 支持SFTP协议可视化文件传输<br > 2. 字体、配色好看 |
1. 不支持多窗口<br >2. 不能读取、编辑并使用系统SSH Config文件,所以需要手动添加Config文件中的信息<br > 3. 存储密码 <br > 4. 会弹窗提醒登录账号 |
官网 |
| WindTerm | 跨平台的开源SSH客户端软件 | 1. 能够读取、编辑和使用系统SSH Config文件<br > 2. 自动优先使用本地SSH秘钥登录远程服务器<br > 3. 支持SFTP协议的可视化文件传输 |
1. 需要在设置-安全里手动关闭终端锁屏功能 | 官网<br > GitHub |
MobaXterm<br >(支持X11) |
免费的个人版就够用了! | 支持X.org显示图形界面,支持实时显示服务器内存、硬盘状态。 | 1. 不能读取、编辑并使用系统SSH Config文件,所以需要手动添加Config文件中的信息<br > 2. 存储密码需要设置主密码 |
官网 |
XShell<br >(不推荐) |
历史悠久 | 1. 不能读取、编辑并使用系统SSH Config文件,所以需要手动添加Config文件中的信息<br > 2. 存储密码<br > 3. 会弹窗提醒登录账号<br > 4. 字体、配色辣眼 |
官网 |
备份与恢复-SSH密钥对+信任公钥文件
ssh_helper工具包含在 li-group-center这个pip包中。
ssh_helper --help以运行参数的形式进行使用