Linux配置密钥
我的使用场景
需要在两台服务器之间传输文件,可以使用FTP,SFTP服务,由于FTP服务器联调未成功,同事SFTP需要使用LFTP才能实现自动上传下载的功能,我处就选择了使用scp服务+配置密钥的方式实现“定期文件传输”功能。
方案实现
在服务器A中生成密钥
- 执行命令 ssh-keygen -t rsa ,如图:
- 执行结果:
执行之后,如果在服务器下没有配生成过密钥,直接回车、回车、回车就可以了,同时会在 /root/.ssh/目录下生成id_rsa.pub和id_rsa两上文件,如果已经有生成过密钥,会有提示是否覆盖之前的密钥,如图:
输入“y” 覆盖====》将会把之前的密钥修改,而之前配置的密钥会受到影响,需要将已配置在其他服务器上的密钥修改为被覆盖之后的,或者将新生成的密钥添加到服务器中的authorized_keys 文件尾部。
输入“n”不覆盖====》即此次生成新的密钥取消。 - 将密钥放到目标服务器:
将id_rsa.pub文件上传到B服务器的/root/.ssh/目录下,重命名为authorized_keys,如果B服务器不存在root/.ssh/目录,则手动创建该目录即可。 - 测试是否成功
ssh xxx.xxx.xxx.xxx