如何使ssh接收来自stdin的密码

如何使SSH从stdin读取密码,默认情况下它不这样做?



12345678_0001
浏览 819回答 3
3回答

慕的地6264312

根据这篇文章,您可以执行以下操作:创建一个使用SSH_ASKPASS打开ssh会话的命令(在man ssh上查找SSH_ASKPASS )$ cat > ssh_session <<EOFexport SSH_ASKPASS="/path/to/script_returning_pass"setsid ssh "your_user"@"your_host"EOF注意:为了避免ssh尝试在tty上询问,我们使用setsid创建一个返回密码的脚本(注意echo“ echo”)$ echo "echo your_ssh_password" > /path/to/script_returning_pass使它们可执行$ chmod +x ssh_session$ chmod +x /path/to/script_returning_pass试试吧$ ./ssh_session请记住,ssh代表安全外壳,如果将用户,主机和密码存储在纯文本文件中,则会误导该工具,从而可能造成安全漏洞

神不在的星期二

正在恢复的旧帖子...我在寻找完全相同的问题的解决方案时找到了这个,我发现了一些东西,希望有人有一天会发现它有用:安装ssh-askpass程序(apt-get,yum ...)设定SSH_ASKPASS变数(export SSH_ASKPASS=/usr/bin/ssh-askpass)从终端打开一个新的ssh连接,没有未定义的TERMINAL变量(setsid ssh user@host)这看起来很简单,很安全,但是还没有检查(仅在本地安全上下文中使用)。我们到了。
打开App,查看更多内容
随时随地看视频慕课网APP