注意:在电子邮件的第二部分中,我将解释我是如何通过gitolite遇到此问题的。但是问题是一个ssh
问题,而不是一个gitolite
问题。尽管如此,我还是添加了gitolite标签,以防有人针对特定情况提供临时解决方案。
这是普遍的问题。
我的服务器上有两个用户,alice
并且bob
。alice
可以bob
通过确定身份su - bob
,但她不知道bob
自己的密码(无论出于何种原因)。爱丽丝想从她的笔记本电脑以ssh身份进入服务器bob
,但是由于没有密码,她不能这样做。有没有办法利用她的能力bob
来模仿自己的身份ssh bob@server
?在某种程度上,我想通过更改用户身份来建立ssh连接的通道。我认为这是一个远景,我猜ssh不允许这样做。但是我想无论如何我都会问。
问题出在哪里?
我正在尝试使用乙醇钠。我让服务器管理员来设置gitolite
用户,他让我可以su - gitolite
在服务器上进行操作。但是,他没有提供我gitolite
的密码,并且鉴于一天中的时间,服务器管理员已经回家了,所以我必须等到明天再问他该密码。同时,我想找一个解决方法(如果可能的话),只是为了好玩。
简短的gitolite-ssh交互回顾(据我了解):其中的authorized_keys
文件gitolite/.ssh
包含以下行
# gitolite start
command="/usr/share/gitolite3/gitolite-shell some_user_name",no-portforwarding,
no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa SOME_USER_NAME_KEY
# gitolite end
因此,当授权密钥尝试ssh进入gitolite
s帐户时,将激活整个gitolite机械。实际上,当授权密钥sshs(如何将动词“ to ssh”?!??)结合到gitolite
的帐户中时,gitolite-shell
就会执行并接管,仅允许git
相关命令。您可能会问:“那么,gitolite
如果您是密码的授权密钥之一,那么为什么需要密码?很高兴。您some_user_name
要修改gitolite的配置,仅添加像这样的行是不够的~gitolite/.ssh/authorized_keys
;some_user_name
需要已添加到gitolite的配置文件中,该文件存储在git存储库中~gitolite/repository/gitolite-admin.git
。为了更改此配置文件,必须克隆该存储库,修改配置文件,然后将存储库推回。要注意的是:允许在存储gitolite-admin
库中进行修改的用户会在存储gitolite-admin
库本身中列出...开始时,初始化gitolite的用户(在这种情况下为user gitolite
)是此类配置文件中唯一列出的用户。因此,我需要能够以身份访问该conf文件gitolite
,以便在可以更改配置的用户中添加我的用户。一旦执行此操作,我就可以忘记用户,gitolite
并以我自己的身份管理gitolite信息库。
有没有办法利用她的能力来假设鲍勃的身份来模仿ssh bob @ server的行为?
当然:如果Alice可以以bob(使用su - bob
)打开shell会话,则可以:
/home/bob/.ssh
,/home/alice/.ssh/id_rsa.bob.pub
和id_rsa.bob
。bob
使用ssh -i /home/alice/.ssh/id_rsa.bob bob@server
(或使用的.ssh/config
文件)不要忘记阅读:
温馨提示:凹凸棒石的任何使用总是通过git
或gitolite
用户完成的,绝不作为“驴友”或“鲍勃”来使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句