• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    bash脚本中将密码传递给ssh/scp命令方法详解

    安装SSHPASS

    对于大多数最新的操作系统,sshpass软件包在默认软件包存储库中可用。可以使用以下命令在系统上安装它。

    在Debian上:

    $ sudo apt install sshpass

    在CentOS上:

    $ yum --enablerepo = epel -y install sshpass

    使用SSHPASS

    sshspass使用sshspass环境变量存储用户密码。需要首先使用sshspass变量和密码,然后使用此命令。下面是一个使用sshspass的简单shell脚本。

    export SSHPASS=ry3AvbWO0oupYX9HCMzp0Axx

    sshpass -e scp testfile.csv user@example.com:/uploads/

    还可以使用sshpass运行ssh命令,如下所示

    sshpass -e ssh user@example.com

    shell脚本中解决SCP命令需要输入密码的问题

    使用密钥文件。

    这里假设主机A(192.168.100.3)用来获到主机B(192.168.100.4)的文件。

    在主机A上执行如下命令来生成配对密钥:

    ssh-keygen -t rsa

    遇到提示回车默认即可,公钥被存到用户目录下.ssh目录,比如root存放在:

    /root/.ssh/id_rsa.pub

    将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys,

    到主机A中执行命令和主机B建立信任,例(假设主机B的IP为:192.168.100.4):

    scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys

    下面就可以用scp、ssh命令不需要密码来获取主机B的文件了ssh 192.168.100.4 回车就不需要密码了。

    注:其实id_rsa.pub内容添加到对方机器的authorized_keys中就行了

    上一篇:Linux上通过SSH挂载远程文件系统方法详解
    下一篇:使用supervisor管理nginx+tomcat容器的方法示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    bash脚本中将密码传递给ssh/scp命令方法详解 bash,脚本,中将,密码,传,