在sshpass软件包的同一行上发送SSH密码

对于那些使用 SSH的,也就是说,在我们的日常生活中需要不断访问远程计算机或服务器的那些人可能会厌倦输入密码,这将是:

  1. 键入终端:ssh user @ server
  2. 等待几秒钟
  3. 我们要连接的服务器将要求输入密码
  4. 输入密码并按[Enter]后,我们将访问远程服务器

现在我的问题是,只键入不是更简单吗?:

sshpass -p «PASSWORD» ssh root@servidor

例如,假设用户是 ,服务器是: 开发。desdelinux净 密码是 il ...那么该行将是:

sshpass -p xunil ssh root@dev.desdelinux.net

为此,我们只需安装软件包 密码Debian / Ubuntu 或衍生品将与 须藤apt-get 安装sshpass 同时在 ArchLinux的 或衍生品就足以 须藤pacman -S sshpass

如果我们要指定端口(因为SSH不在端口22上) 我们增加 -p«端口» ...即假设它是端口9122:

sshpass -p xunil ssh root@dev.desdelinux.net -p 9122

为了简化所有这些 我们可以创建别名例如,当执行server1时,将执行整行以通过SSH连接到server1(sshpass -p密码用户@ server1)或类似的内容,因此我们也省去了太长的线😉

无论如何,我希望这对您有用。

顺便说一句,当我们通过SSH访问时避免写密码的另一种方法是使用 公钥和私钥.

问候


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   linuxito

    抱歉,这是一个可怕的安全异常! 您的密码卡在脚本,纯文本文件,bash历史记录等中。
    为此,openssh支持使用RSA的公钥身份验证。
    由于这种类型的实践(由自称“管理员”的主体实施),因此计算机安全性非常高。
    问候。

    1.    拉夫

      让我们来看看。 是的,这是一个安全问题,但这并不意味着无论是不是管理员的“主题”都必须使用此方法。 该方法存在并在需要在安全性不成问题的环境中使用时显示。 在他们向您出售刀的商店中,您可以决定是否使用它来切菜或杀死某人。

      1.    linuxito

        我理解您的立场,但是很抱歉,在如此享有盛誉的博客中,他们倡导这种做法,这几乎就像是“为系统的糟糕管理道歉”。
        拥抱!

        1.    拉夫

          我还是不明白问题是什么🙁

          正如我们在各个方面都讨论了“如何获得更多安全性”一样,我们也可以讨论其他“不太安全”的主题。 我们的目标是提供信息,由您决定如何处理。 另外,相信我,最偏执的帖子的作者不可能是,在系统管理方面,它不会做这种事情。

          问候😉

          1.    linuxito

            首先,当我说“由自称“管理员”的主题实现”时,我没有任何时间提及该文章的作者,我不明白为什么他们如此容易受到影响。

            从我的角度来看,问题在于该工具违背了所有良好的安全惯例。 我相信,从GNU / Linux社区中,我们必须保持我们宝贵的操作系统尽可能的安全。 我的意思是,我不想看到GNU / Linux变成Windows(出于安全考虑)。

            不幸的是,许多新手管理员不知道正确的处理方法,最终在关键系统上使用了这些工具。

            当然,您有权发布想要的内容,但是我重复一遍,对不起,此博客(西班牙语中最重要的博客)为威胁安全的工具提供了地方。

            您好!

            1.    拉夫

              并给胡安娜与盆地。 准确地说,作为参考博客,我们喜欢提供各种信息。 我了解这一点:

              用户到达并询问: 如何在不要求密码的情况下通过SSH连接到服务器?
              他们在任何论坛上回答他: 不,这是一个安全问题,没有人这样做。

              即使知道,用户也没有告诉他为什么这是一个安全问题。糟糕,非常糟糕,你知道如何做事是件好事,这就是为什么 Desdelinux:

              用户到达并询问: 如何在不要求密码的情况下通过SSH连接到服务器?
              我们写一篇文章说: 您可以使用此方法,它可以这种方式工作,但并不安全。 最安全的方法是使用另一种方法。

              您认为哪一个更好?


            2.    linuxito

              好吧,我尊重你的姿势。 最好的祝福!!


            3.    KZKG ^ Gaara

              SSHPass实际上并不威胁安全,无论如何,威胁安全的人都是滥用安全的用户。
              例如,这是一个很好的示例,SSHPass不仅用于我在帖子中评论,还可以用于(例如)破解OpenSSH-Server: http://paste.desdelinux.net/4810

              该应用程序无非就是一个应用程序,使用该应用程序将导致失败或不损害安全性。

              关于紧张或易感,也许这就是您说的那样(或者阅读很难正确理解),但我认为这是针对我的,如果不是,我对此表示歉意。

              PS:当然会有几个人会找到我所写的有趣甚至有趣的LOL脚本!


            4.    linuxito

              好的,我很高兴我们达成协议。 问候!!


    2.    KZKG ^ Gaara

      我曾经说过这种方法比使用公钥和私钥更安全吗?

      在另一篇文章中,我已经分享了如何使用它们[1],现在我仅说明实现相同或相似事物的另一种方法。

      每个人都使用最适合他们的一种,他们更喜欢的一种。 在这里,我只是简单地解释了sshpass可以使用的一种用法,另一种可能是通过Bash脚本通过使用字典来破解SSH……但是,这只是另一种用法。

      我再说一遍,我只分享与GNU / Linux有关的知识。 SSHPass在任何情况下都不是理想的选择,但它具有实用性,请不要犹豫。

      顺便说一句,指的是:(由自称“管理员”的主题实现)...呵呵...呵呵...我不想发表评论,我没有向任何人证明的事情,更不用说您的我的朋友,你对我是谁没有最遥远的想法,比我所知道的要少得多😉

      [1] https://blog.desdelinux.net/ssh-sin-password-solo-3-pasos/

      1.    linuxito

        别紧张,在我的领域里,我认识一些人,他们的工作都基于Google,并且在解决问题时会复制并粘贴此类内容。 然后,安全管理员就是在检测到这些类型的异常时“将车轮放入车轮”的人。 问候!!

      2.    MSX

        放松男人,这不值得worth

  2.   西克兹

    可以,但是密码已在使用的命令中注册。 出于安全原因,不应这样做...

    1.    大卫

      这就是我在阅读帖子时的想法

    2.    KZKG ^ Gaara

      将此添加到我们的.bashrc中将不会保存sshpass相关命令:
      HISTIGNORE='sshpass *'

      我将写一篇有关如何忽略命令的文章,以便它们不会很快保存到bash历史记录中:)

      1.    天使之刃

        不保存命令的另一种方法是始终在命令前放置一个空格。 ^ __ ^

  3.   伊格纳西奥

    我认为使用密钥通过SSH进行连接而不需要输入密码更为安全。

    另一方面,创建用于保存密码的完整命令别名可能是安全问题。

  4.   斋藤

    如果在我看来,计算机安全性方面的缺陷,但是我们将确保它们没有保存在bash历史记录中,那么我们要做的问题就不多了(除了别名会很大),就像elav一样说在商店卖给我们刀,我们就是那些会看到用什么的人

  5.   特鲁科22

    有趣,但是我最好使用您在另一个条目中显示的公钥和私钥。

  6.   MSX

    @KZKG
    我认为这更实用-更安全! -将RSA / ECDSA密钥与密钥链(SSH代理)一起使用以进行自动身份验证。
    就我而言,我使用的是SSH钥匙串到钥匙串,该钥匙串是由Funtoo的人开发的,效果很好,使用的资源很少,并且非常安全:
    http://www.funtoo.org/Keychain

    例如:

    j:0 ~ > AliasSearch ssh
    # SSH management
    alias SSHCOPYIDecdsa='ssh-copy-id -i ~/.ssh/id_ecdsa.pub'
    alias SSHCOPYIDrsa='ssh-copy-id -i ~/.ssh/id_rsa.pub'
    alias SSHKEYGENecdsa='ssh-keygen -t ecdsa -b 521 -C "$(whoami)@$(hostname)-$(date -I)"'
    alias SSHKEYGENrsa='ssh-keygen -t rsa -b 4096 -C "$(whoami)@$(hostname)-$(date -I)"'

    如何使用:
    SSHKEYGEN {ecdsa,rsa}
    SSHCOPYID {ecdsa,rsa}用户@ {server,ip}


    # SSH servers
    alias SERVER1mosh='eval $(keychain --eval --agents ssh -Q --quiet id_ecdsa) && mosh -p # usr1@server1'
    alias SERVER1='eval $(keychain --eval --agents ssh -Q --quiet id_ecdsa) && ssh -v -p # usr1@server1.local'
    alias SERVER101='eval $(keychain --eval --agents ssh -Q --quiet id_ecdsa) && ssh -v -p # usr1@[direc. ip].101'

    其中:
    -p#:端口
    usr1 @ server1:用户@ AVAHI服务器
    usr1@server1.local:user @ AVAHI服务器(取决于某些系统中服务器的配置方式,必须添加后缀.local)
    usr1 @ [addr。 ip] .101:固定的ip地址。

    / etc / ssh / sshd_config: http://paste.chakra-project.org/4974/
    〜/ .ssh /配置: http://paste.chakra-project.org/4975/
    操作系统:Arch Linux / Chakra

    希望它能为您服务,问候!

    1.    KZKG ^ Gaara

      实际上,我使用密钥而不是SSHPass来访问我的服务器...当我需要一种执行此脚本的方法时,我发现了SSHPass: http://paste.desdelinux.net/4810

      但是……好吧,我想与所有人共享SSHPass,但是显然我不能在这里放一个脚本,该脚本允许使用字典来尝试违反OpenSSH-Server HAHAHA!

      1.    MSX

        “ […]我无法在此处放置允许使用字典来尝试违反OpenSSH-Server HAHAHA的脚本!”
        但是为什么不呢!
        黑客与破解不是学习良好安全实践[0]的一部分吗?
        拜托,继续吧!

        [0]用单词来表示与它们的字面意思完全相反的词不是很好吗? 破解语言学!!! ;-D

      2.    古兹曼网

        嗨,我收到此错误:

        它正在使用root用户在端口192.168.20.11上测试22的密码
        cat:con-letters.txt:没有这样的文件或目录

        我创建的具有letters.txt的文件?

        问候

  7.   爱德华多

    之所以不会这样做,是因为密码以纯文本形式存储在bash_history中,除此之外还可以通过其他方式找到它。 因此,ssh不会要求您输入密码,正确的方法是使用“公钥和私钥”。

  8.   奥斯卡·梅萨(Oscar Meza)

    我使用RSA远程连接到我的服务器,即使如此,我也认为连接到我们不需要如此强大安全性的计算机是一个很好的工具,谢谢!

  9.   Nelson

    基乌

  10.   尼布甲尼撒

    还有,为什么不公开我的密码以便任何人都可以使用呢?

  11.   马里奥

    优秀,好! 和西班牙语。

  12.   贡萨洛·贾瑞里(Gonzalo Jarjury)

    一如既往的好文章,人们总是抱怨而不是感谢,尽管这种方法并不安全,但要取决于您在何处以及如何使用它,非常感谢🙂