作为Sudo用户,是否可以在同一台Linux服务器上为用户创build一个SSH密钥? 这个Sudo用户没有Switch用户权限。
我有一个服务器,我login为sudo用户说'pipe理员'(没有切换用户权限),我有另一个用户说'user1'。 我在我的服务器上有一个脚本,它应该以'user1'运行,这个脚本应该调用在远程主机(远程主机有一个类似用户'user1')运行的另一个脚本,'user1'需要一个授权密钥主机authentication。 由于sudo用户“admin”没有权限切换为“user1”并生成ssh密钥,因此我必须生成“user1”的ssh密钥为“admin”
这取决于如何为您的帐户configurationsudo 。 通常情况下,只允许一定的操作受到限制。
如有疑问,请咨询您的pipe理员以帮助您。
其他一些方法:不要求ssh密钥文件在特定的地方。 你可以在任何你喜欢的地方创build一组密钥,把公钥添加到远程用户authorized_keys文件中,然后使用如下所示:
sudo ssh -i /path/to/privkey user@host
是的,这是可能的,没有任何问题。 你可以把你的ssh私钥存入.ssh/authorized_keys文件,就好像你ssh-d进入该账户一样。
Ps:顺便说一句,没有“sudo用户”这样的东西。 您可能正在考虑一个能够使用sudo命令获得最终结果的用户,但找出术语的恰当含义并不是一件微不足道的事情。 也没有“切换到用户”这样的东西。 你觉得某种types的suing? 也许你必须使用所有已知的术语。
你不需要任何sudo。 假设你已经在server2上为user1使用passwordAuth运行sshd,请从server1执行以下操作:
mkdir ~/.ssh chmod 700 ~/.ssh ssh-keygen -t rsa -f ~/.ssh/id_rsa ssh-copy-id -i ~/.ssh/id_rsa.pub user1@server2
此时,〜/ .ssh / authorized_keys安装在server2上,假设server2上启用了pubkeyAuth,则可以尝试不使用pwd的ssh:
ssh user1@server2 ls
现在,如果你想恢复的东西(允许从server2的user1用pubKeylogin到server1),请从server2上的user1执行以下操作:
scp user1@server1:.ssh/id_rsa .ssh/id_rsa chmod 600 .ssh/id_rsa
并在server1上:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys