VScode 直接连服务器比ssh+vim爽多了,但是总要输密码也很费劲,所以要免密设置,mac环境,不知道为什么总是遇到密码冲突导致设置都白设置,生成的密码一个都没用到,下面是解决方案。
从头开始,连接单个服务器并设置密码密码。
但是当链接多个服务器的时User/xxx/.ssh
文件下多个id_rsa
文件,需要在ssh keygen
时注意同时重命名私钥xx_rsa
和公钥xx_rsa.pub
。同时可以通过ssh keygen -c
设置公钥注释以免混淆。
不要尝试通过更改路径设置不同服务器的密码,例如将文件重新定位,存在User/xxx/.ssh/server1/id_rsa
。该文件内无known_host
文件,连接时还是会要重新输入密码。
known_host
存储本机可ssh的地址信息,并存储其公钥。known_host 和authorized_keys区别。
- 先尝试ssh命令成功链接server,
Are you sure you want to continue connecting (yes/no/[fingerprint])?
回答 yes
,第一次连接成功后,通过vim查看known_host
内容, 现在里面应该只有该服务器自动生成的ecdsa-sha2-nistp256
格式的公钥。
将刚才生成的与私钥配对的
xx_rsa.pub
粘贴known_host
,退出保存。
known_host
文件中应该有两个该服务器公钥信息。粘贴
known_host
文件中与对应服务器相关的两个公钥至/.ssh/authorized_keys
。尝试重新登陆,就设置好了。
在vscode中设置.ssh/config
文件,设置内容同单个服务器,只要注意区分私钥xx_rsa
。地址一定是.ssh/
根目录下。
其他参考教程