SSH实现无需输入密码自动登录
在实际开发中,可能会用到经常连接测试服务器或者线上服务器去抓取日志、调试项目等等。我们为了服务器的安全性,一般都会把服务器密码设置的非常复杂,这就导致了每次连接服务器都需要手动输入一串复杂的服务器密码。身为一个程序员,本着能简则简的原则,我们可以给服务器和客户端配置一下ssh秘钥,实现无密码连接。
第一步:生成ssh的公钥文件和私钥文件
在客户端cmd中输入:ssh-keygen 。
然后根据指引进行配置,你也可以直接按回车,使用默认配置,但是要注意的是,如果该客户端已存在默认的秘钥,再次生成时,不指定秘钥路径会覆盖原秘钥,导致之前配置的私钥会失效。
将生成一个公钥(默认情况下存储在~/.ssh/id_rsa.pub
)和一个私钥(默认情况下存储在~/.ssh/id_rsa
)。
第二步:将生成的公钥文件上传至服务器
将公钥 id_rsa.pub 文件加入到远程服务~/.ssh/authorized_keys文件中。我们可以先通过密码连入远程ssh。
然后执行命令:
cd /.ssh
vim authorized_keys
将生成的公钥的内容复制到打开的文件中。(vim操作方法见:https://virtualman.top/index.php/post/48.html)