linux 安全登录,linux服务器间的远程拷贝

背景:云服务,一直被别人错误登录,尝试使用秘钥文件,禁用密码登录

root账户生成pem文件,终端登录(也可以非root)

.pem文件是用于终端连接到服务器文件,和私钥内容一致
私钥文件,用于和远程服务器的authorized_keys 的文件进行匹配,实现免密登录
.pub文件是用于拷贝到远端服务器的文件

Windows 登录远端linux服务器
在远端linux服务器生成密钥对,把私钥拷贝成.pem结尾文件,把公钥追加到authorized_keys
Windows通过putty等远程连接工具,通过.pem文件直接进行免密登录

在服务器上创建秘钥对文件

cd /root/.ssh
ssh-keygen -t rsa -C "root的密钥" -f "tencent_key"   
#-f 指定生成的秘钥文件名 -C选项是公钥文件中的备注
#回车后输入你使用公钥时的密码
#再次回车输入相同密码
#普通用户在自己家目录执行该命令生成密钥
cp tencent_key  tencent_key.pem   #生成pem文件,root_key是私钥文件,使用远程工具登录一定是私钥
#一定要将tencent_key.pem文件拷贝到本地
cat tencent_key.pub >> authorized_keys  #追加公钥到authorized_keys,把私钥对应的公钥内容放到authorized_keys,就可以通过私钥连接到服务器了
chmod 600  authorized_keys   #限制authorized_keys文件权限
vim /etc/ssh/sshd_config  #编辑ssh的配置文件
RSAAuthentication  yes
PubkeyAuthentication  yes
AuthorizedKeysFile %h/.ssh/authorized_keys
systemctl restart sshd   #重启服务,

到此已经可以使用密钥登录了 ,选择密钥为tencent_key.pem文件登录即可,但还是可以密码登录,需要下列设置才可以只通过pem文件登录

取消输入密码登录

vim /etc/ssh/sshd_config
PasswordAuthentication yes   # 修改 PasswordAuthentication 的yes 为no
systemctl restart  sshd  #重启服务

如下的通过mobaxterm免密登录到服务器

在这里插入图片描述

服务器间的免密登录

Linux服务器间登录原理
当前服务器生成密钥对,把公钥内容追加到远端服务器的~/.ssh/authorized_keys,当前服务器指定生成的私钥直接访问到远端服务器。指定私钥文件是为了使私钥文件和远端服务器的authorized_keys进行匹配,匹配成功就实现了免密登录

yum   install  -y  openssh  openssh-server  openssh-clients   #安装软件
systemctl restart sshd  #启动
netstat  -anplut | grep ssh  #查看监听状况
基于秘钥连接:
生成秘钥: 
ssh-keygen -t rsa -C "root的密钥" -f "root_key"   
#-f 指定生成的秘钥文件名 -C选项是公钥文件中的备注
#回车后输入你使用公钥时的密码,也可以直接回车
#再次回车输入相同密码
ssh-copy-id   -i  /root/.ssh/root_key.pub root@192.168.0.10    
#拷贝公钥,root_key.pub这个文件是上条命令生成的公钥文件,这条命令是把这个文件内容拷贝到远端的authorized_keys里,也可以手动复制

ssh -i /root/.ssh/root_key  root@192.168.0.10   #-i指定刚生成的私钥,免密登录到远程主机

双机互信:
双方都去生成秘钥,将自己的公钥拷贝给对方即可

远程拷贝

远程拷贝: scp 如果没做双击互信,需要密码,AWS没有密码需要秘钥

 scp   本地文件路径     远端IP:/路径    #从内地拷贝到远端
 scp   /root/welcome.txt     192.168.0.10:/tmp  
scp   远端IP:/文件路径      本地路径    #从远端拷贝到本地
scp   root@192.168.0.10:/root/hello.txt    /root

新建私钥文件(就是令一台EC2登录密钥)把对面的秘钥存入自己的EC2中(lrzsz)
chmod 400 /path/xjp-zabbixserver.pem

scp -i ./xjp-zabbixserver.pem  172.18.1.170:/www ./   #指定密钥文件,拷贝本地文件到远端
scp -r -i ./xjp-zabbixserver.pem  172.18.1.170:/www ./  #指定密钥文件,拷贝本地目录到远端

堡垒机使用密钥登录

堡垒机一般上传私钥
首先在第一台服务器yunwei账户下创建密钥对文件

mkdir  /home/yunwei/.ssh
cd /home/yunwei/.ssh/
ssh-keygen -t rsa -C "yunwei's key"  -f "yung0a1_key"  
cp yunwei_key  yunwei_key.pem
cat yunwei_key.pub >> authorized_keys
chmod 600  authorized_keys
chown -R  yunwei.yunwei .ssh
systemctl restart sshd 
echo  "yunwei ALL=(ALL)  NOPASSWD: ALL" >>  /etc/sudoers  #添加免密sudo
#压缩密钥文件 传到其他服务器
cp  -r .ssh key
tar -czvf    key.tar.gz  key

第一台服务器下载key文件后,上传到其他服务器 /tmp下
在本机

scp  /home/yunwei/key.tar.gz  root@192.168.128.9:/tmp/
#推送本机的key.tar.gz 文件至远端服务器192.168.128.9的/tmp目录下
# -i /home/root/root.key  如果root也是通过密钥对连接,使用-i参数,指定私密文件位置进行登录
mv /tmp/key.tar.gz /home/yunwei/
cd /home/yunwei/
tar -xzvf  key.tar.gz 
mv key .ssh
chown -R  yunwei.yunwei .ssh
rm -rf key.tar.gz
systemctl restart sshd 
echo  "yunwei ALL=(ALL)  NOPASSWD: ALL" >>  /etc/sudoers
#如已有yunwei账户,可以使用替换
#sed -i s'/yunwei ALL=(ALL) ALL/ yunwei ALL=(ALL)  NOPASSWD: ALL/'   /etc/sudoers

密码策略

密码长度和有效期要求

修改密码长度在 文件/etc/login.defs 里PASS_MIN_LEN 参数值,常规是8
修改密码有效期在文件/etc/login.defs 里 PASS_MAX_DAYS 参数值,默认是永久,安全又要求可以改为90天

vim /etc/login.defs

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值