1. Putty (Windows)
1.1 连接服务器
- 下载 Putty: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
- 打开 Putty
- 在 "Host Name" 下输入地址, 格式为
<username>@xxx.xxx.xxx
- 点击
Open
- 第一次连接时可能会询问是否信任连接, 选 yes
- 终端打开后, 会提示你输入密码. 输入时无法看到内容, 确认无误后按下回车即可.
1.2 免密码连接服务器
-
打开刚刚下载的 Putty package 中的 puttygen
-
点击 "Actions" 下的
Generate
button. 随意的移动鼠标指针来生成 key. -
保存 "ssh-rsa xxxxxx" 一长串的字符串 (public key), 后续会用到.
-
点击
Save private key
button, 输入文件名. -
退出 puttygen
-
打开 putty
-
go to "Connection->SSH->Auth", 点击
browse
button, 找到第4步存的private key. -
返回 "Session", 在 "Host Name" 下输入地址
-
在 "Saved Sessions" 下输入一个名字(比如: server001), 点击
save
-
点击
open
-
终端打开, 提示输入密码
-
输入命令:
ssh-keygen -b 2048 -t rsa
, 询问地址时直接按回车, 询问密码时也直接按回车 -
输入命令:
echo "" >> ~/.ssh/authorized_keys
echo "ssh-rsa blablabla" >> ~/.ssh/authorized_keys
替换第3步保存的"ssh-rsa xxxxxx" public key. -
重启 putty, 在 "Saved Sessions" 下选择 server001, 点击
Load
, 点击Open
.
2. MobaXterm(Windows)
相比于 Putty, MobaXterm 提供了更友好方便的界面.
2.1 连接服务器
-
如果你已经用Putty连接过服务器, 此时 MobaXterm左侧会自动生成一个 "PuTTY sessions" 和 "server001", 此时点击它并输入密码即可;
否则, 创建一个session, 点击左上角的 "Session", 选择"SSH", 在 "Remote host" 中输入地址<username>@xxx.xxx.xxx
, 点击 OK button. -
成功登陆后会提示是否保存密码, 免去了上述 1.2 中繁琐的免密码操作, 十分便捷.
2.2 更改终端打开时的默认路径
每次成功连接服务器后, 此时终端的当前路径往往不是你想使用的, 每次都需要 cd
到自己的文件夹下很麻烦, 可以修改默认路径来解决这个问题:
- 连接服务器, 在终端中输入
vim ~/.bash_profile
打开configuration file - 在这个文件中添加一条
cd
命令, 后接你的项目文件夹路径
- 按 Esc, 输入
:wq
退出 vim
- 再次运行 .bash_profile 文件:
source ~/.bash_profile
- 重启终端, 输入
pwd
检查你的当前路径.
3. VS Code
VS Code 连接远程服务器后, 可以直接在 VS Code 上修改和运行代码, 很方便, 接下来介绍如何使用VS Code连接服务器和如何免密码连接.
3.1 连接服务器
- 点击左侧边栏内的 "Extensions" (or 按下快捷键 "Ctrl+Shift+X") , 输入搜索"Remote Development", 点击 "install" button 进行安装.
图1
- 成功安装后, 左侧边栏会多出一个 "Remote Explorer" 图标, 点击齿轮图案的 Config button
- 选择第一个文件, 填写你的服务器信息:
这里的 HostName 就是前面 1.1 节第3步中的 Host Name<username>@xxx.xxx.xxx
中 @ 符号后的内容(xxx.xxx.xxx), User 就是 @ 符号前的内容( <username> ). - 保存配置文件, 此时左侧会出现刚刚创建的机器, 如上面的图1中的 "compute_Canada".
- 更改设置, 依次选择 "File->Preferences->Settings->Extension->Remote-SSH", 搜索找到 "Show Login Terminal" 并勾选.
- 点击 "compute_Canada" 右侧的 Connect button
- 选择你的服务器平台类型"Linux/ Windows/macOS"
- 输入密码
- 连接成功后, 点击右侧的
+
button 打开一个新的终端窗口.
- 在左侧可以打开服务器的文件夹, 依次选择你的文件路径, 点击 ok
- 此时在终端中输入
pwd
, 可以看到当前路径已经定位到了刚刚打开的文件夹处. 返回刚刚进行连接服务器的窗口, 在 "compute_Canada" 下给出了刚刚打开的文件夹, 下次可以直接点击这个文件夹进行连接, 这样就省去了 2.2 小节中更改默认路径的操作.
3.2 免密码连接服务器
每次连接都需要输入密码很麻烦, 接下来介绍如何免密码连接:
-
在自己的电脑上打开 cmd
-
输入命令
ssh-keygen -t rsa -C "<username>@xxx.xxx.xxx"
引号部分是你的地址, 回车 -
此时会依次询问你: 1) 将 key 保存在什么目录? 直接回车, 保存于它提供的默认路径(C:\Users\xxx/.ssh/id_rsa); 2) 如何已存在这个文件, 会询问是否 overwrite? 输入y, 进行覆盖; 3) 请求输入密码, 直接回车, 空密码(两次).
-
终端显示你的 identification 和 public key 已保存在 C:\Users\xxx/.ssh处, 进入这个文件夹可以看到有两个新增的文件 id_rsa 和 id_rsa.pub:
-
打开服务器的终端, 输入
ssh-keygen -b 2048 -t rsa
(与1.2节第12步一样), 询问地址时直接按回车, 询问密码时也直接按回车, 若询问是否 overwrite 输入 y. 终端显示你的 identification 和 public key 已保存在 xxx/xxx/.ssh处 -
使用
cd
命令切换到这个文件夹, 这个文件夹中有三个文件:authorized_keys
id_rsa
id_rsa.pub
-
在你的电脑上, 打开你刚刚在第4步中创建的 id_rsa.pub 文件(即图中标为 public key 的文件), 复制文件中的内容("ssh-rsa xxxxxx" 形式的一长串字符串)
-
在服务器的终端上输入命令
vim authorized_keys
, 将第7步复制的内容粘贴到authorized_keys
文件中, 检查无误后按Esc
, 输入:wq
退出 vim. -
回到你的vs code, 在 3.1 节 第3步 的config 文件中添加
IdentityFile "C:\Users\xxx\.ssh\id_rsa"
, 即上述第4步提到的private key文件, 保存.
-
重启vs code, 重新连接服务器, 可以发现无需密码即可连接成功.