我正在编写一个小 bash 脚本,用于从任何授权计算机更新 Web 服务器上的文件。最后,我想使用 scp 命令来完成这项工作。
scp -i ~/.ssh/id_rsa $localpath [email protected]:$webpath
网络服务器位于 AFS 上,因此将公钥放入〜/.ssh/authenticated_keys不能解决问题,因为您需要一个令牌才能访问它。如 [1] 中所述,“一种解决方法是将私钥放入〜/.ssh-私人并将公钥放入〜/.ssh /授权密钥. 访问〜/.ssh-私人除了用户之外,其他人无法访问,而〜/.ssh向未经身份验证的用户开放。”
我很想这样做,但我不是网络管理员。我可以通过提供密码来“手动” ssh。有没有办法让我弄清楚它是如何安排的?通常是怎么做的?
我发现了一个适用于 ssh 的 Kerberos/AFS 补丁,但在收到反馈之前,我不想深入研究它。(我可能会破坏我的 OSX ssh 命令!)
[1] cs.unc.edu/cgi-bin/howto?howto=ssh-keys(抱歉,这个链接我只被允许激活一个。)
答案1
为什么您需要以 root 身份来放置文件~
(例如 via scp
)?
对于困惑的人来说,总是有ssh-copy-id
。要从本地机器安装公钥,您需要
# ssh-copy-id [email protected]
这将自动猜测您要安装哪个密钥。其他内容请查看手册页。