如何通过 shell 脚本接受密码

如何通过 shell 脚本接受密码

我们知道,切换用户时必须输入密码[用户名:test,密码:test]

[user1@hosts ~] $ su test
Password: 
[test@hosts ~]$ 

现在我想创建一个 shell 脚本(例如:login.sh)来切换用户而无需输入密码。

我的外壳脚本是:

su - test
test   # The password of user test

但仍然需要输入密码。

shell脚本如何接受密码?提前致谢!

答案1

实际上,我发现了另一种无需密码即可切换用户的方法(即使新用户需要密码验证)。

这就是使用ssh

别名文件位于用户1

alias tt="ssh [email protected]"

并将 user1 的 id_rsa.pub 复制到 test 的 authorized_keys: user1:

  • 用户1:创建 ssh 公钥:rsa_id.pub

    $ ssh-keygen -t rsa

    如果询问则按“是”...

  • 将user1的公钥上传到test的目录(此步骤需要输入密码):

    $scp id_rsa.pub[电子邮件保护]:/主页/测试

  • 添加rsa_id.pub进入.ssh/授权密钥

    $ su-测试

    密码

    $ cd $ cat rsa_id.pub >> .ssh/authorized_keys

    $ chmod 644 .ssh/authorized_keys

然后使用切换用户tt

$ tt
Last login: Mon Jan 28 20:27:34 2013 from localhost
[test@host ~]$

相关内容