多对不同的ssh keys登录同一个用户

先做一个简单的介绍。像我这种系统管理员,远程登录服务器嘛,肯定要用到ssh的。现在,有一点经验的sa都会要求你用ssh key来登录服务器,而不是account和password来登录。为什么呢??

使用用户名和密码去登录服务器,你与服务器之间的通讯数据,并没有加密的,如果你被某人盯上了,他搭一个代理,在你和服务器之间担当一个中间人的角色,那么,你和服务器通讯的所有数据,都会流经他的代理,由于数据并没有加密,这个时候,他就能获取所有你往服务器发送的数据,及服务器返回给你的数据了。

使用ssh key登录有什么不同呢?整个连接过程是这样的,ssh key 生成的时候是一对的,一个叫public key,一个叫private key,就是一对key pair了。ssh 登录服务器时,我就拿着private key,服务器就拿着public key,咱们配对吧,配上了,就让我登录,配不上,就拒绝我了。配上后,我们之间的通讯都加密了,即使真有中间人监听,他拿到的也只是加密后的数据。

废话真多,说正题。

如果,我是A,他是B,我们都拥有自己的ssh key。但现在我们想以同一个用户C的身份登录,是否可以实现呢??

只要把我们的public key append 到C用户的pubilc key 就行了,服务器寻找用户的public key,在/etc/ssh/sshd_config 里配置,默认是/home/C/.ssh/authorized_keys .

cat /home/A/.ssh/authorized_keys >> /home/C/.ssh/authorized_keys

cat /home/B/.ssh/authorized_keys >> /home/C/.ssh/authorized_keys

然后A 就 ssh C@ip 就可以用C用户来登录了,B也同样可以。

其实这个东西,我也是今天才知道的啊@@我一直以为一个人只可以用一对key pair和一个用户名登录,今天一个同事提出可以这样做,我才尝试了一下。我真是火星了!!

Submit a Comment