在HPC中实现免密登录

使用ssh-key免密登录服务器

本文作者使用macOs系统,通过ssh连接学校HPC服务器。每次登陆时需要输入密码,十分麻烦。本文介绍如何通过ssh-key实现免密登录。

生成密钥对并上传公钥

1
2
3
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa-remote-ssh
chmod 400 ~/.ssh/id_rsa-remote-ssh
ssh-copy-id -i ~/.ssh/id_rsa-remote-ssh.pub <user_id>@<server_ip>

第一条指令生成密钥对,会在~/.ssh目录下生成id_rsa-remote-sshid_rsa-remote-ssh.pub两个文件,分别为私钥和公钥。
第二条指令修改私钥权限,第三条指令将公钥上传到服务器。其中<user_id>为用户名,<server_ip>为服务器ip地址。第三条指令运行后会提示输入密码。

修改本地配置文件

1
vim ~/.ssh/config
1
2
3
4
Host <server_ip>
HostName <server_ip>
IdentityFile ~/.ssh/id_rsa-remote-ssh
User <user_id>

例如我的:

1
2
3
4
Host burgundy.hpc.cityu.edu.hk
HostName burgundy.hpc.cityu.edu.hk
IdentityFile ~/.ssh/id_rsa-remote-ssh
User wjiang49

不过我这个是VSCode自动生成的,所以不用手动修改。

参考资料

https://code.visualstudio.com/docs/remote/troubleshooting