任何人都知道如何通过密码初始本身ssh/su?如何通过ssh/su - 通过本身传递密码?
像:
ssh [email protected] -p [password]
pbrun su - unix_owner -p [password]
我怎样才能做到这一点?
它不应该弹出密码或任何RSA认证就像是/否。
任何人都知道如何通过密码初始本身ssh/su?如何通过ssh/su - 通过本身传递密码?
像:
ssh [email protected] -p [password]
pbrun su - unix_owner -p [password]
我怎样才能做到这一点?
它不应该弹出密码或任何RSA认证就像是/否。
我想你可能需要一个sudoers file以类似的方式完成su
的东西,而不会被提示输入密码。
我从来没有使用SSH没有密码的提示,却发现this这表明它可以完成...
不能做到这一点。你正在调用远程机器上的passwd程序。如果有一种方法可以在不提示旧密码的情况下更改密码,任何人都可以在您的控制台上更改密码。你仍然需要在通过ssh连接
至于SSH通过密码,你可以使用RSA密钥,而那些不会提示你输入密码。
至于苏,那就要进行硬编码,或者您需要创建自己的应用程序作为各种各样的包装。
传递明文密码未被SSH意。 尝试了解ssh密钥认证(谷歌会帮助你),你不需要再输入你的密码。远程机器
> mkdir -p ~/.ssh #if neccessary
> touch ~/.ssh/authorized_keys2
> chmod go-rwx $HOME/.ssh/authorized_keys2
在本地机器上
:
确定,更详细的,试试这个
> ssh-keygen # if neccessary
> cat ~/.ssh/id_rsa.pub | ssh [email protected] "cat >> .ssh/authorized_keys2 && chmod 0600 ~/.ssh/authorized_keys2"
我不认为你可以在密码直接传递到ssh命令(否则它将被存储在你的历史记录中)。为什么不使用密钥来跳过身份验证提示。
一个更好的办法是使用SSH密钥,像其他答案建议,但如果你真的需要它,你可以使用expect了点。 只需创建这样一个expect.file:
#!/usr/bin/env expect
set username youruser
set pass yourpassword
set host yourhost
spawn ssh ${username}@${host}
expect -re "password:"
send "${pass}\r"
expect -re "$"
interact
并执行它:
expect expect.file
你有没有考虑使用SSH密钥呢?这比在命令行上指定密码更好。 –
你是不是想通过脚本来自动远程进程(即登录,做一些事情,注销),或者是你想自动登录到一个交互式的壳呢?一个比另一个容易。 –