SSH公钥在同步和自动化脚本中提供了许多好处。
免密码登录: 通过使用公钥认证,您可以实现无需输入密码即可登录到远程服务器。
这对于自动化脚本和定期的同步任务非常有用,因为它允许在不人工干预的情况下自动完成这些任务。
安全性: 公钥和私钥的使用提高了安全性。与密码相比,私钥通常更难破解。
这减少了脚本中包含敏感信息的风险,因为私钥通常是本地存储的,而不是与脚本一起传输或存储在脚本中。
自动化脚本的可靠性: 公钥认证确保在运行自动化脚本时不会因为需要人工输入密码而中断。
这对于计划任务、定期同步和其他无人值守的脚本任务非常重要。
脚本的可扩展性: 在多个服务器上执行任务时,使用公钥可以避免在每个服务器上维护相同的密码。
这使得脚本更易于扩展和维护,因为您只需管理公钥而不是多个服务器上的密码。
安全通信: 公钥和私钥的使用还提供了在数据传输过程中的加密,确保了脚本执行过程中的通信安全性。
使用方法:
1. 执行命令
ssh-keygen
ssh-keygen 是一个跨平台的命令,支持在 Windows、Linux 和 macOS 等操作系统上运行。
执行后会有三个选项询问,分别是生成的对钥名称和输入并确认密码,一般情况下默认回车即可。
2. 执行命令
cat ~/.ssh/id_rsa.pub | ssh user@host -p port"mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
将 ssh user@host -p port替换成你的服务器用户地址如:ssh root@192.168.1.1 -p 10086,如果ssh是默认的22端口,把-p port去掉即可。
这条命令的大概意思是将你刚刚生成的密钥上传到你需要免密码链接的服务器中,大致原理是当你本机和目标服务器中的密钥匹配上才会被允许连入到主机中。
3. 执行ssh命令验证公钥
ssh user@host -p port
如:ssh root@192.168.1.1 -p 10086
这一步如果如果没有要求输入密码直接登录服务器,说明设置成功了。
如果还是要求你输入密码,可能是~/.ssh/authorized_keys文件权限有问题,需要使用密码登录服务器,
执行命令
chmod 600 ~/.ssh/authorized_keys
结束!
欢迎与我一起探索Linux世界