我用作 的ssh-agent
包装程序startx
。始终使用相同的套接字文件是否存在安全风险?
ssh-agent -a /tmp/xyz123 startx
-a
指定套接字绑定地址。如果未指定,它将是一个随机文件名。
我想使用修复套接字文件名,因为我想SSH_AUTH_SOCK=/tmp/xyz123
在 crontab 文件中指定。否则,使用 SSH 的 cronjobs 将失败。
答案1
恕我直言,使用/tmp
是一个较小的安全风险。使用相同的文件名不是问题,因为即使您每次都更改它,也很容易找到。
将套接字放在只有用户自己可读的目录中。
例如,在许多最近的发行版中,套接字文件总是/run/user/1000/keyring/ssh
其中 1000 是用户的 id。
答案2
套接字具有与目录内容相同的保护~/.ssh
:文件权限限制其他用户访问它。人们通常会假设这是安全的。如果无法在该假设下进行操作,那么系统中还会存在无数其他漏洞,因此担心套接字并不是一个很好的利用担心时间的方法。 :)
从外部的角度来看,所有通信都是加密的(当然!),因此从外向内看时,我看不出使用相同的套接字会带来任何问题。
我想说的是,确保名称总是改变会增加一点点额外的安全性(通过默默无闻)......而不是到我会不遗余力地去做或开始认为我已经停止了所有黑帽子在他们的轨道上。