Linux 服务器间SSH免密码登录与拷贝文件(SCP)

玛卡巴卡的卡巴卡玛  金牌会员 | 2024-6-12 07:49:26 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 525|帖子 525|积分 1575

实用配景



  • 工作中频仍登录服务器和拷贝文件,都会提示输入密码
  • 在持续集成的场景下,自动部署应用时是没有人工干预的
解决方案

下面以实现A服务器到B服务器的免密码登录和拷贝文件为例,先容相关的配置。(即A访问B不需要输密码)
A服务器(主服务器)地址:192.168.1.AAA
B服务器(从服务器)地址:192.168.1.BBB
step1 在A生成密钥对

如果已经有了也可以选择不用生成
  1. ssh-keygen -t rsa -P ""
复制代码
执行上述命令,一路回车,会在当前登录用户的home目录下的.ssh目录下(一般为~/.ssh/下)生成id_rsa和id_rsa.pub两个文件,分别代表密钥对的私钥和公钥,如下图所示:

Step2 拷贝A的公钥(id_rsa.pub)到B

将A的公钥(id_rsa.pub)拷贝到B的用户下为例(我们以root为例)
  1. scp ~/.ssh/id_rsa.pub    root@192.168.1.BBB:/root
复制代码
step3 登录B拷贝A的id_rsa.pub内容到.ssh目录下的authorized_keys文件中

登录B拷贝A的id_rsa.pub内容到.ssh目录下的authorized_keys文件中
  1. cat id_rsa.pub >> ~/.ssh/authorized_keys
复制代码
如果提示没有.ssh文件夹就本身重修一个
此时在A中用SSH登录B或向B拷贝文件,将不需要密码
实现B免密码登录A,操纵方式是一样的,在B中用ssh-keygen生成ssh密钥对,将公钥拷贝到A中,A将B的公钥拷贝到.ssh目录下的authorized_keys文件中即可
解决方案快捷方式

  1. ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.BBB
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

玛卡巴卡的卡巴卡玛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表