当前位置: 首页 > Linux

linux免密码执行另一个服务器脚本并修改权限

时间:2023-04-06 03:48:13 Linux

免密码登录原理:首先用户生成一对密钥,然后将公钥保存在SSH服务器用户的目录下,在authorized_key文件中ssh子目录(/root/.ssh/authorized_key)。私钥存储在本地计算机上。用户登录时,服务器会检查authorized_key文件中的公钥是否对应用户的私钥。如果匹配,则允许登录,否则拒绝。由于私钥仅保存在用户本地电脑中,因此即使入侵者获得了用户密码,也无法登录服务器。配置文件路径:/etc/ssh/sshd_config。注意非root用户的SSH密钥路径为:/home/xxx/.ssh,如果使用非root用户,以下教程步骤需要修改ssh密钥路径。我自己处理这个问题的时候,一直是在/root/.ssh/路径下拿到秘钥,但是一直没有成功。最后发现是用户的问题,改成/home/xxx/.ssh/路径下的秘钥就可以了。比如192.168.0.1的主机需要远程复制scp到192.168.0.2的主机。1生成密钥(服务器1)使用命令ssh-keygen-trsa生成密钥(生成过程直接回车)2备份公钥(服务器1)复制/root/.ssh/id_rsa.pub到/root/.ssh/id_rsa.pub_tempcp/root/.ssh/id_rsa.pub/root/.ssh/id_rsa.pub_temp将/home/kduser/.ssh/id_rsa.pub复制到/home/kduser/.ssh/id_rsa。pub_tempcp/home/kduser/.ssh/id_rsa.pub/home/kduser/.ssh/id_rsa.pub_temp3复制公钥到另一台主机(服务器1),远程复制id_rsa.pub_temp文件到另一台目标机的/root在/.ssh/目录下scp/root/.ssh/id_rsa.pub_temproot@192.168.0.2:/root/.ssh/远程复制id_rsa.pub_temp文件到另一台目标机的/root/.ssh/目录中scp/home/kduser/.ssh/id_rsa.pub_tempkduser@192.168.0.2:/home/kduser/.ssh/如果服务器2没有这个目录,可以执行密钥生成,或者手动创建目录。4创建认证文件(服务器2)在服务器2的/root/.ssh/文件夹下创建文件authorized_keys:touchauthorized_keys在服务器2的/home/kduser/.ssh/文件夹下创建文件authorized_keys:touchauthorized_keys添加认证文件的密钥内容(服务器2)catid_rsa.pub_temp>>authorized_keys修改文件权限和所有者用户组linux中每个用户都必须属于一个组,不能脱离组。在Linux中,每个文件都有所有者、组和其他组的概念。所有者通常是文件的创建者。谁创建了文件,自然就成为了文件的拥有者。使用ls-ahl命令查看文件文件的所有者也可以使用chown用户名和文件名来修改文件的所有者组。用户创建文件时,文件所在的组就是用户所在的组。使用ls-ahl命令可以看到文件的所有组,也可以使用chgrp组名文件名修改文件所在的组。除文件所有者和组用户外的其他组,系统的其他用户为文件的其他组。文件权限显示的内容ls-l如下:-rwxrw-r--1rootroot1213Feb209:39abc前10个字符决定不同的用户可以对文件做什么。第一个字符代表文件(-)、目录(d)、链接(l),其余字符以3(rwx)、读取(r)、写入(w)和执行(x)为一组。也可以用数字表示:r=4,w=2,x=1,所以rwx=4+2+1=7第一组rwx:文件拥有者的权限是读、写和执行第二组grouprw-:with与文件拥有者同组的用户权限为读写但不能执行。第三组r--:与文件拥有者不在同一组的其他用户的权限,只能读,不能写,不能执行。1表示连接文件数root表示用户root表示用户所属组1213表示文件大小(字节)Feb209:39表示最后修改日期abc表示文件名更改权限命令chmod755abc:grantabc权限rwxr-xr-xchmodu=rwx,g=rx,o=rxabc:同上u=用户权限,g=组权限,o=其他不同组的用户权限chmodu-x,g+wabc:remove用户对abc的执行权限,增加组写权限chmoda+rabc:给所有用户增加读权限更改所有者(chown)和用户组(chgrp)命令查看:ls-alchownbinjfabc:更改abc的所有者为binjfchgrprootabc:改变abc所属的组chownroot./abc:改变abc目录的属主为rootchown-Rroot./abc:改变abc目录及其下所有文件和目录的属主为root