zoukankan      html  css  js  c++  java
  • 【随笔】ssh登录时如何直接在参数中加入登录密码

      如同apt-get安装程序时会有-y参数来避免交互输入一样,我也希望在ssh登录时能够直接附加登录密码以避免交互式输入密码这一步,网上找了找,方法很多。

      比如直接通过密钥免密码登录,不过需要改动很多,感觉很麻烦。这里更想要的是不改动server/client的配置下直接免交互式ssh登录。

      于是我先查看帮助:

      

      这里没有可用参数能够附加登录密码,于是继续找办法。


      sshpass

      sshpass: 用于非交互的ssh 密码验证

      ssh登陆不能在命令行中指定密码,也不能以shell中随处可见的,sshpass 的出现,解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器。 它支持密码从命令行,文件,环境变量中读取。

      办法找到了,现在先在自己机器上安装。

      对于debian/ubuntu系统来说,安装方式很简单:

    sudo apt-get install sshpass

      对于其他系统来说,可以通过编译源码:

    1 wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz  
    2 tar xvzf sshpass-1.05.tar.gz  
    3 ./configure 
    4 make  
    5 sudo make install  

      也可以直接通过访问这个来下载sshpass-1.05.tar.gz文件。

      ./configure 后可以添加参数指定安装目录,比如:

    ./configure --prefix=/usr/local/Cellar/sshpass/1.05 

      来把sshpass安装到自己喜欢的位置,如果没有这个参数,则安装到默认位置。

      安装好了后,输入sshpass来查看是否安装好了:

      


      这样就可以通过:

    sshpass -p [passwd] ssh -p [port] root@192.168.X.X

      来登录远程主机了。

  • 相关阅读:
    Unit of Work
    OAuth做webapi认证
    Js数组
    UWP开发的一些思考
    表格行拖拽
    委托
    Git协作流程(转)
    全自动Web后门扫描(转)
    Gradle 2.0用户手册——总览(译)(转)
    面向对象之两大要领 (转)
  • 原文地址:https://www.cnblogs.com/linxiong945/p/4226211.html
Copyright © 2011-2022 走看看