我们知道,切换用户时必须输入密码[用户名: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 ~]$