我可以使用-i选项通过SSH连接到服务器以指定私钥:
ssh -i ~/.ssh/id_dsa user@hostname
Run Code Online (Sandbox Code Playgroud)
我正在创建一个id_dsa
从数据库中获取文本的脚本,但我不确定如何将该字符串提供给SSH.我需要这样的东西:
ssh --option $STRING user@hostname
Run Code Online (Sandbox Code Playgroud)
其中$STRING
包含的值id_dsa
.我需要知道--option
是否有一个.
小智 32
请尝试以下方法:
echo $KEY | ssh -i /dev/stdin username@host command
Run Code Online (Sandbox Code Playgroud)
密钥不会出现在PS语句中,但由于stdin被重定向,因此它仅对单个命令或隧道有用.
Kim*_*ais 11
没有这样的转换 - 因为它会泄漏敏感信息.如果有,任何人都可以通过一个简单的命令获取您的私钥ps
.
编辑 :(因为评论中添加了详细信息)
您确实应该将密钥存储到临时文件中.如果不使用命令mktemp
来创建临时文件,请确保在写入文件之前正确设置权限.
确保运行代理(或OpenSSH情况下的代理)进程并使用加载密钥 <whatever command you use to fetch it form the database> | ssh-add -
归档时间: |
|
查看次数: |
25166 次 |
最近记录: |