整体流程:

1. 在本机创建公钥和私钥

2. 在本地~/.ssh/config文件中,设置IdentifyFile为私钥地址

3. 将公钥上传到服务器

下面是每一步的详解:

1. 在本机创建公钥和私钥:

在命令行中输入:

ssh-keygen

 会显示:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/liuyulin/.ssh/id_rsa): 

输入自己想要放置这两个钥匙的地址,如果回车就是默认地址

命令行显示:

Enter passphrase (empty for no passphrase): 

免密码登陆,则敲击回车,否则创建一个密码,这是一会上传完公钥后,再连接服务器时需要输入的密码

命令行显示:

Enter same passphrase again:

重复输入之前的密码(如果之前敲击回车,这次也回车)

然后可以在之前输入的地址中找到这两个钥匙,公钥为.pub结尾的文件

2. 在本地~/.ssh/config文件中,设置IdentifyFile为私钥地址

打开vscode,在远程资源管理器中,打开~/.ssh/config文件(如下图,先点击圆圈小电脑的位置-然后是SSH旁边的圆圈设置-然后点击config文件)

 config文件记录了服务器的配置,Host为主机别名,HostName为服务器的IP地址,User为username,Port为端口号,如果没有特别特定,则不用写,IdentityFile就是我们之前创建的私钥

主机别名的作用是:

之前的登录方式为 ssh <username>@<ip地址> -p <端口号>

现在可以用 ssh <主机别名> 直接登录

3. 将公钥上传到服务器

在本地命令行中输入

ssh-copy-id -i <公钥地址> <username>@<ip地址>

将公钥上传到服务器,如果有主机别名也可以用 ssh-copy-id -i <公钥地址> <主机别名> 上传

上传成功后,可以在服务器中ssh目录下看是否是我们想要写入的公钥

cd ~/.ssh
vim authorized_keys

如果一切顺利的话,现在可以免密登陆了!

可能会遇到的问题:

1. Load key xxxx: bad permissions

说明私钥权限不够,输入:

chmod 600 私钥地址

2. 其他问题待补充

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐