一、ssh和scp关系
scp,secure copy的简称,是用来与远程主机之间进行数据传输的协议,相当于经过加密的copy命令。scp数据传输使用ssh协议,并且和ssh使用相同的认证方式,提供相同的安全保证。
二、免密登录原理分析
这里免密登录指的是公钥登录,原理:用户将自己的公钥存放于远程主机上。登录时,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先存储的公钥进行解密,若成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
三、密码登录设置
场景:实现机器A免密远程登录和免密数据传输到机器B
1、在机器A中生成秘钥文件,包括公钥和私钥。生成秘钥中不使用密码,命令:ssh-keygen -t rsa -P ''。命令执行完成后,在/root/.ssh目录下生成一对秘钥id_rsa(私钥)和id_rsa.pub(公钥)。
2、拷贝A记录的公钥即id_rsa.pub文件到机器B/root/.ssh目录下,并将秘钥内容写入authorized_keys文件,命令:cat id_rsa.pub>>authorized_keys
3、执行ssh或者scp命令,即可实现机器A到机器B的免密。
4、注意事项:
(1)若多台机器需要实现对机器B的免密操作,而公钥名称都相同,怎么破?重命名公钥文件时,需注意先执行步骤1生成默认名称文件的私钥文件,然后再拷贝重命名公钥文件上传到机器B才行。这里不知是否有更好方法?
(2)据说authorized_keys文件权限必须是600
参考链接:https://blog.51cto.com/rescue/2136561?utm_source=oschina-app