ssh天天输入密码真的麻烦,遂后乃生如下事文。
这里使用debian12进行演示部署(请确保有openssh软件包)
1.生成公钥私钥
首先使用工具生成公钥私钥,可以在任何地方进行生成,如果在乎安全性,最好在可信任的设备上生成
这里在服务器使用 ssh-keygen 生成 rsa 密钥(ssh-keygen是OpenSSH 程序提供的一个密钥生成、管理和转换工具)
先ssh连接到服务器,在终端运行
ssh-keygen -t rsa
然后就会生成 id_rsa 和 id_rsa.pub 这两个文件,其中 id_rsa 是私钥,拿到了就能直接连接ssh服务端,id_rsa.pub是公钥,对外公开。
私钥不能泄露或传输,否则会危害安全。
2.部署私钥到服务器
使用命令ssh-copy-id将公钥部署到服务器
语法:ssh-copy-id -f -i [公钥路径] [用户名]@[ip地址]
这里我把刚才生成的 id_rsa.pub 公钥部署到服务器本地的root用户上
ssh-copy-id -f -i id_rsa.pub root@127.0.0.1
接下来就可以下载id_rsa私钥到客户端,使用密钥连接到服务器了。