Linux 服务器使用 SSH 连接 实现免登陆

Linux服务器使用ssh连接 实现免登陆
参考资料

  • SSH的工作原理是将客户端程序连接到ssh服务器

    Ubuntu(Centors类似 命令有所不同)

    1.主配置文件于/etc/ssh/sshd_config
    2.Port 22 端口声明指定sshd服务器将侦听连接的端口 
    如需更改端口 直接添加后  测试完成 再删除 22
    3.PermitRootLogin 选择是否允许root登录
    4.LoginGraceTime 指定在未成功登录的情况下保持连接活动的秒数
    [root@7S ssh]# sudo service ssh restart  重启服务
    [root@7S ssh]# sudo systemctl restart ssh
  • 如何使用密钥登录SSH

    [root@7S ssh]# systemctl stop firewalld.service //关闭防火墙
    [root@7S ssh]# systemctl is-enabled firewalld.service //查看防火墙状态
    enabled
    [root@7S ssh]# firewall-cmd --zone=public --add-port=1212/tcp --permanent 添加 放行端口 1212
    FirewallD is not running // 防火墙关闭
    [root@7S ssh]# systemctl restart firewalld.service //启动
    [root@7S ssh]# firewall-cmd --zone=public --add-port=1212/tcp --permanent //继续添加
    success 
     [root@7S ssh]# firewall-cmd --zone=public --list-ports //查看所有端口
  • 创建SSH密钥(本地的计算机上生成SSH密钥)

    [root@7S ssh]# ssh-keygen -t rsa //创建
    按 Enter 键接受默认值  (Mac)密钥在〜/.ssh/id_rsa.pub和〜/.ssh / id_rsa中 (window 系统不一样 Admin文件名不一样) /C/users/Admin/.ssh/id_rsa
  • ssh-copy-id root@192.168.100.00 //将公钥复制到远程服务器 输入密码 下次不需要使用密码 即可登录

  • 更改 端口 登录
    $ ssh -p 1212 root@192.168.100.00

  • 安全考虑 禁用密码验证

    [root@7S ssh]# /etc/ssh/sshd_config
    // PasswordAuthentication no //去掉注释 改为 no
    // PubkeyAuthentication yes   // 默认不修改
    // ChallengeResponseAuthentication no // 默认不修改
  • sudo systemctl restart ssh //重启服务 如有错误 关闭SELinux 或者 向SELinux中添加修改的SSH端口(如下)

  1. 安装semanage
    semanage是SELinux的管理工具,是用于向SELinux添加和修改ssh端口号
  • 安装依赖
    [root@7S ssh]# yum install policycoreutils-python
  • 安装semanage
    [root@7S ssh]# yum provides semanage
    2:使用semanage向SELinux中添加我们刚刚添加的端口号(1212)
    查询当前 ssh 服务端口:
    [root@7S ssh]# semanage port -l | grep ssh
    向 SELinux 中添加我们需要添加的ssh端口(1212):
    [root@7S ssh]# semanage port -a -t ssh_port_t -p tcp 1212
    验证 ssh 端口是否添加成功:
    [root@7S ssh]# semanage port -l | grep ssh
    重启 ssh 服务:
    [root@7S ssh]# systemctl restart sshd.service

第二种方法:

  1. ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.100.000 //将本机的id_rsa.pub公钥文件内容复制到远程目标机的.ssh/authorized_keys文件中

  2. 本地复制: scp .ssh/id_rsa.pub user@192.168.1.100:/home/root/

    服务器操作:

    [root@7S ssh]# mkdir -p /home/root/.ssh/
    [root@7S ssh]# mv /home/root/id_rsa.pub /home/root/.ssh/authorized_keys  //authorized_keys 必须如此命名

    登录即可

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!