Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 在bash脚本中自动输入密码_Macos_Bash_Ssh - Fatal编程技术网

Macos 在bash脚本中自动输入密码

Macos 在bash脚本中自动输入密码,macos,bash,ssh,Macos,Bash,Ssh,我在Mac OS中有一个简单的bash应用程序,它可以建立SSH连接 代码如下所示: $ ssh user1@machine.com -p61023 当我运行脚本时,控制台总是提示询问密码。(这是一个非常初级的过程) 我如何使这个过程自动化 将私钥添加到密钥链:ssh Add-K~/.ssh/host\u id\u rsa 除登录密码外,切勿再次键入密码 如果您运行服务器,那么我会做其他事情: 在端口422而不是22上侦听,以减少中断尝试 仅允许通过公钥/私钥对登录,不允许使用密码 仅允许通

我在Mac OS中有一个简单的bash应用程序,它可以建立SSH连接

代码如下所示:

$ ssh user1@machine.com -p61023
当我运行脚本时,控制台总是提示询问密码。(这是一个非常初级的过程)

我如何使这个过程自动化

  • 将私钥添加到密钥链:
    ssh Add-K~/.ssh/host\u id\u rsa
  • 除登录密码外,切勿再次键入密码

    如果您运行服务器,那么我会做其他事情:

  • 在端口422而不是22上侦听,以减少中断尝试
  • 仅允许通过公钥/私钥对登录,不允许使用密码
  • 仅允许通过选定的用户列表登录(从不使用root)

  • 然而,这个问题是离题的,你应该问它。

    @Kalanidhi给了我一个提示:

    这是我的新剧本

      sshpass -p 'yourpassword' ssh user@machine.com -p61023
    

    尝试
    sshpass
    命令…@Kalanidhi它成功了!我使用了这个:
    sshpass-p'password'sshuser1@machine.com-p61023(1.)查看
    /etc/services
    选择您最喜欢的未使用端口。在5000-30000范围内挑选将使大多数脚本小子远离。在openssh 7.2中不推荐使用dsa密钥(出于安全原因),请选择类似ecdsa的备用密钥。(3.)您可以使用
    /etc/ssh/sshd_config
    中的
    AllowGroups
    参数限制属于特定组的用户。回答得好。注意:更改端口后,您可以在
    /etc/ssh/config
    ~/.ssh/config
    中指定
    主机端口
    对,以避免提供备用端口号。您的答案非常好,但我使用了
    sshpass
    命令。(由@Kalanidhi评论)顺便说一句,你有我的一票:)
      sshpass -p 'yourpassword' ssh user@machine.com -p61023