<username>@xxx.xxx.xxx
Open
打开刚刚下载的 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
.
相比于 Putty, MobaXterm 提供了更友好方便的界面.
如果你已经用Putty连接过服务器, 此时 MobaXterm左侧会自动生成一个 "PuTTY sessions" 和 "server001", 此时点击它并输入密码即可;
否则, 创建一个session, 点击左上角的 "Session", 选择"SSH", 在 "Remote host" 中输入地址 <username>@xxx.xxx.xxx
, 点击 OK button.
成功登陆后会提示是否保存密码, 免去了上述 1.2 中繁琐的免密码操作, 十分便捷.
每次成功连接服务器后, 此时终端的当前路径往往不是你想使用的, 每次都需要 cd
到自己的文件夹下很麻烦, 可以修改默认路径来解决这个问题:
vim ~/.bash_profile
打开configuration filecd
命令, 后接你的项目文件夹路径:wq
退出 vimsource ~/.bash_profile
pwd
检查你的当前路径.VS Code 连接远程服务器后, 可以直接在 VS Code 上修改和运行代码, 很方便, 接下来介绍如何使用VS Code连接服务器和如何免密码连接.
图1
<username>@xxx.xxx.xxx
中 @ 符号后的内容(xxx.xxx.xxx), User 就是 @ 符号前的内容( <username> ).+
button 打开一个新的终端窗口.pwd
, 可以看到当前路径已经定位到了刚刚打开的文件夹处. 返回刚刚进行连接服务器的窗口, 在 "compute_Canada" 下给出了刚刚打开的文件夹, 下次可以直接点击这个文件夹进行连接, 这样就省去了 2.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, 重新连接服务器, 可以发现无需密码即可连接成功.