zoukankan      html  css  js  c++  java
  • window与MAC,多台机器ssh免密码登录同一台机器执行某个脚本,

    参考:https://zhidao.baidu.com/question/586579720.html

    A B C三台机器上以当前用户运行如下命令生成本主机的公钥和私钥文件:

    1
    ssh-keygen -t rsa

    上述命令执行后,目录~/.ssh下会出现两个文件:id_rsa和id_rsa.pub。其中,id_rsa.pub为公钥文件。将该文件的内容追加到主机D上~/.ssh目录下的authorized_keys文件中。例如:

    A机将id_rsa.pub文件传到D机:

     
    1
    scp ~/.ssh/id_rsa.pub user@HOSTD:/tmp/id_rsa_HOSTA.pub

    D机user用户追加authorized_keys文件:

    1
    cat /tmp/id_rsa_HOSTA.pub >> ~/.ssh/authorized_keys
       其中,在linux中 “>>” ,重定向表示在原有内容文件上追加,“>”重定向会把原有文件内容覆盖掉。  

    接下来,就可以在不输入密码的情况下在远程主机私执行命令了。命令格式如下:

     ssh 远程用户名@远程主机名或IP地址 '远程命令或者脚本'

    例如:

    1
    2
    ssh user@HOSTD 'hostname'
    ssh user@HOSTD '/home/user/script/test.sh'

    需要特别注意的是:当远程脚本中使用了一些命令识别依赖于环境变量时,该脚本需要在其第一行中包含执行profile文件的命令。比如,在Bash中,该脚本的第一行为: 

    1
    source ~/.bash_profile

    否则,远程脚本可能报错。

     
  • 相关阅读:
    java工程师要求
    系统架构设计师知识模块
    Mybatis使用训练
    项目—视频直播系统
    [数算]概率
    查看镜像文件
    Hadoop启动命令
    Hadoop启动命令
    HDFS设置配额管理
    HDFS设置配额管理
  • 原文地址:https://www.cnblogs.com/brianlai/p/9540452.html
Copyright © 2011-2022 走看看