1、在本地 ~/.ssh目录下生成密钥
ssh-keygen -t rsa -C "server@aliyun.com"
一路回车
运行结束以后, 默认在 ~/.ssh目录生成两个文件:
id_rsa :私钥
id_rsa.pub :公钥
2、导入公钥到linux服务器
复制id_rsa.pub文件到linux服务器下,然后复制id_rsa中的内容到authorized_keys内
authorized_keys: 记录登录本机,免密的客户端
如果authorized_keys文件没有,就新建一个。
scp {-P port} ~/.ssh/id_rsa.pub glowd@host:~ //也可以通过其他手段,复制到服务器上
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
3、更改服务器上的权限(这一步,必须要做。而且权限必须如下)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
4、疑难问题
a. vscode需要连接的服务器,需要安装openssh,并启动
sudo apt-get install sshd 或 sudo apt-get install openssh-server
b. 之前通过vscode连接到虚拟机上看代码,后来虚拟机重装后,重新生成ssh key,保持ip不变,发现始终连不上。
后来查找到是因为,本地中.ssh know_host未清理(删掉,它会重新生成)