本文主要是介绍linux服务器之间免密登录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有时为了能够使用ssh执行脚本,需要设置基于密钥文件的认证方式,取代密码认证,如下:
1、生成ssh密钥
ssh-keygen
这是一个交互式命令,执行之后会询问用户密钥文件存放的位置及相应的密钥短语,本文回车默认执行。执行完毕后,会在当前用户的home目录下创建一个.ssh文件夹,里面生成两个密钥文件:id_rsa和id_rsa.pub,前者式私钥文件,后者是公钥文件。
2、分发公钥文件
使用命令
ssh-copy-id [user@host]
将公钥分发到目标机器,其中user@host为目标用户和主机,如果省略user,则默认为当前用户,执行时需要输入目标用户在目标主机上的登录密码。
建议在分发时将公钥同时分发给本机,这样在访问本机时也可免密。
每个用户在.ssh目录下都有一个专门存放所有授权登录本机的公钥文件authorized_keys,在分发时,即是将公钥发送到这个文件中,相当于手工将公钥内容复制到目标机器的authorized_keys文件中(说明分发公钥时也可以手工复制)。
到此,即完成单项授权,可以在当前机器上使用指定用户免密登录到目标机器(但目标机器无法免密回访)。
3、反向授权
为了能够使服务器之间都能免密访问,需要在目标机器上同样执行上述两个步骤,执行完成后,两台服务器之间就可以互相免密登录了。
这篇关于linux服务器之间免密登录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!