zoukankan      html  css  js  c++  java
  • mac 免密传送 scp 文件到 linux

    1、在 A 上运行 ssh-keygen -t rsa 在/root/.ssh 下生成id_rsa 和 id_rsa.pub 两个文件

    在/root/.ssh下复制备份一份id_rsa.pub 命名为 id_rsa.pub.A


    2. 在 B 上也同样运行 ssh-keygen -t rsa


    3、在 B 的 /root/.ssh 下创建authorized_keys文件 把A 中 id_rsa.pub.A 文件 传到 B /root/.ssh 下
    通过 cat 命令 把id_rsa.pub.A 写到 authorized_keys 文件中


      scp ./id_rsa.pub.A B的IP:/root/.ssh
     cat id_rsa.pub.A >> authorized_keys


    测试:最终从B服务器拷贝文件到A上,就无需输入密码了
    *提示:在生成密钥的过程中,一直Enter即可,否则还是需要输入设置的密码


    参考链接:https://blog.csdn.net/goodbyedaoke/article/details/79809509

    如果本地已经有.ssh了,直接拷贝id_rsa.pub到服务器的~/.ssh/authorized_keys中(注意mac的用户必须和服务器的用户一致,如:mac是root,则服务器也需要是root,如果不是,则需要在linux下创建同名用户,很多教程没写,结果配置大半天,还是连接不上)

    配置好之后,如果服务器的文件夹已经用root创建了,需要注意设置文件夹的权限,不然无法拷贝或覆盖,会提示没有权限

    * 提示:配置免密文件传送,可先配置并测试好免密登录,这是必然要经过的一步

    我的mac用户是我自己的名字,不是root,因此到服务器创建用户:
    1. 添加新用户账号
      useradd helloboy

    2. 为新用户账号设置密码
      passwd helloboy

    3. 为新用户账号赋予root权限
      usermod -a -G root helloboy

    然后切换到这个用户:su - helloboy

    拷贝mac上的~/.ssh/id_rsa.pub内容到服务器的~/.ssh/authorized_keys中(如果没有这个文件则手动创建下,如果存在则是将内容文本追加到最后)

    重启sshd服务:
    systemctl restart sshd.service
    如果sshd服务没有启动,则需要启动该服务(一般都是启动的,可以查看是否启动:systemctl status sshd.service)
    启动命令:systemctl start sshd.service
    * 额外的可设置服务开启自启:systemctl enable sshd.service

    一般错误的解决方案:

    1、权限问题:
    报错:Authentication refused: bad ownership or modes for directory /home/helloboy/.ssh
    当前用户设置以下权限即可(记得要切换到客服端登录服务器的用户下执行,不是在root下,大部分命令都应该是在客户端登录用户下执行的)
    chmod 700 .ssh/
    chmod 600 .ssh/authorized_keys

    2、文件拒绝访问:
    报错:scp ~/xxx/xxx.xxx Permission denied
    因这个目录不是连接用户创建的,因此要为这个目录授权可读写(也可以删除这个目录,然后通过这个用户创建目录,这样可以不用授权):
    chmod 777 ~/xxx

    比较有用的解决思路参考:https://blog.csdn.net/lisongjia123/article/details/78513244(这个人写的解决问题的思路,非常棒)
    * 上面这篇文章执行了:chmod g-w /home/xxxx,但执行了这个命令后,是把该目录搞成了只读权限,而上传必须有可写权限,他解决的应该另外的错误[权限配置不当]执行的这个命令?网上查了下这个命令,解释为:chmod 修改文件权限 g 是group,表示组权限, w 表示可写,这句话表示当前所属用户的组对这个文件具有写的权限,减号表示去掉这个权限!

  • 相关阅读:
    Mybatis异常There is no getter for property named 'XXX' in 'class java.lang.String'
    js javascript 容错处理代码屏蔽js错误
    springmvc访问项目默认先访问后台再返回首页
    杂记-格式化Date默认格式,日期加一天,jstl判断字符类型,ajax模拟from表单后台跳转页面,jstl访问数据库并在页面显示
    测试覆盖率工具EclEmma安装与使用
    GSON使用之对特殊字符的转换的处理
    eclipse启动自己添加的tomcat时tomcat的webapps下没有项目
    接口和抽象类
    枚举
    Java异常
  • 原文地址:https://www.cnblogs.com/Denny_Yang/p/14380787.html
Copyright © 2011-2022 走看看