【git】clone代码、ssh、权限问题

【git】clone代码、ssh、权限问题,第1张

生成SSH密钥过程:

1:查看是否已经有了ssh密钥:cd ~/ssh

如果没有密钥则不会有此文件夹,有则备份删除

2:生成密钥:

按3个回车,密码为空。

最后得到了两个文件:id_rsa和id_rsapub。

3: 复制id_rsapub里的ssh key 到Gitlab 设置里的ssh 添加,(直接复制包括空格不改)。

经典后门:对sshd建立软链接,即可使用任意密码登录。

1、创建后门

ln -sf /usr/sbin/sshd /路径名/su; /路径名/su -oPort=端口号

2、任意密码登

ssh用户名@xxxx -p 端口号

在sshd服务配置启用PAM认证的前提下,PAM配置文件中控制标志为sufficient时,只要pam_rootok模块检测uid为0(root)即可成功认证登录。

通俗点来说,一是sshd服务启用PAM认证机制,在/etc/ssh/sshd_config文件中,设置UsePAM 为yes。如果不启用PAM,系统严格验证用户密码,不能建立后门。

二是在/etc/pamd/目录下,对应文件里包含"auth sufficient pam_rootokso"配置,只要PAM配置文件中包含此配置即可SSH任意密码登录。

对比一下/etc/pamd/sshd配置文件和/etc/pamd/su配置文件,不难发现,前者没有包含如上配置,而后者包含该配置。

直接启动/usr/sbin/sshd,默认使用/etc/pamd/sshd的pam配置文件,因而不能建立任意密码登录的后门。

而通过软链接的方式,实质上PAM认证是通过软链接的文件名(如:/tmp/su,/home/su),在/etc/pamd/目录下寻找对应的PAM配置文件(如:/etc/pamd/su)。

使用命令创建后门;通过前后对比,可以看到开启了12345端口并处于监听状态。

在cmder中连接ssh,输入任意密码,成功登录。

软链接的路径不是绝对的,你可以任意设置,也可以使用除su以外的文件名,只要/etc/pamd/目录下能找到对应的文件,且该文件中包含"auth sufficient pam_rootokso"配置即可。(不懂的再看看原理,不再赘述)

可以看到,在/etc/pamd/目录下,还有以上文件包含了该配置,这些文件名都可以用来创建后门。我们甚至还可以创建一个包含该配置的文件到/etc/pamd/目录下来创建后门。

当然,我们还可以使用其他用户来登录。

这类后门会开启监听端口,我们可以先查看/etc/pamd/目录下有哪些文件包含该配置,然后通过管道符找到异常端口及进程,再通过进程找到异常文件,杀掉进程,不启用PAM认证即可。

安全小白团是帮助用户了解信息安全技术、安全漏洞相关信息的微信公众号。安全小白团提供的程序(方法)可能带有攻击性,仅供安全研究与教学之用,用户将其信息做其他用途,由用户承担全部法律及连带责任,安全小白团不承担任何法律及连带责任。

ssh登陆通常指的是由Master到任意一个Slave的无验证的单向登陆,意思就是只能从Master登陆到Slave是不需要密码的,但是如果你想从

Slave无验证登陆到Master,或者你想在Slave与Slave之间进行无验证登陆,这些都是不可行的,除非进行了密钥对的双向验证,才可以

双向登陆。

首先使用root用户登陆,在network中修改机器名,并在hosts文件中添加映射信息,然后执行保存退出,Slave机按同样方法配置。

然后在Master,Slave机上分别用root用户建一个hadoop用户,并设置密码,注意用户名,密码保持一致。

登入hadoop用户,执行以下命令,生成密钥对,并把公钥文件写入授权文件中,并赋值权限,

ssh-keygen –t rsa –P ''

cat ~/ssh/id_rsapub >> ~/ssh/authorized_keys

chmod 600 ~/ssh/authorized_keys

最后切换root用户,配置sshd,取消被注释的公钥字段,

RSAAuthentication yes # 启用 RSA 认证

PubkeyAuthentication yes # 启用公钥私钥配对认证方式

AuthorizedKeysFile ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)

并保存设置,然后重启sshd,即可测试本机的SSH。

Master的公钥文件通过scp拷贝到已经创建好的Slave节点的hadoop用户上,需要注意的是,在这个用户上不一定有ssh文件夹,如果没有

的话,也没关系,创建一个ssh文件夹,并赋予700的管理权限,最后将公钥追加到授权文件中,并赋予600的权限,这两步比较重要,切记!

拷贝完成之后,去Slave机上进行公钥追加授权文件,并赋值权限,然后切换root用户,进行sshd配置,并重启ssh服务。

然后,回到Master机的hadoop用户上,进行测试。

此时,已经不需要密码验证了。当然现在只是单向登陆从Master到Slave的可以,如果从Slave到Master不行,想要双向登陆,必须得两台机器互相认证彼此的公钥文件。下面在Slave节点下的hadoop用户里,生成自己的公钥文件,并用scp拷贝到Master上,然后将公钥追加的授权文件中,以此实现双向认证。

Slave机上的hadoop用户生成密钥对,拷贝公钥到Master机上的hadoop用户上,然后与上面相同的方式追加到授权文件authorized_keys里面。然后就大功告成了。

以上就是关于【git】clone代码、ssh、权限问题全部的内容,包括:【git】clone代码、ssh、权限问题、权限维持 | SSH软链接后门、用户登录时,服务器有什么方法验证ssh客户端的身份等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9352118.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存