centos下需要配置使用key登录,并且要禁止root登录

下面的操作都是用root来设置的

1.添加新用户 例如用户名leisiyuan

useradd leisiyuan

2.设置密码

passwd leisyuan

3.给新用户添加到root权限组

运行visudo命令,找到root ALL=(ALL) ALL,在下面添加一行 ,然后保存即可

leisiyuan ALL=(ALL) ALL

然后使用ssh客户端 用新用户名进行登录测试 确认无误

5.更改ssh服务器配置 允许使用证书登录

vi /etc/ssh/sshd_config

找到如下三句,把#去掉

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
改为
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

然后重启ssh服务器生效

service sshd restart

5.生成证书 如果已经有证书就跳过该步骤 约定公钥名称为key.pub 私钥为key

ssh-keygen -t rsa

显示Enter file in which to save the key (/root/.ssh/id_rsa):的时候 输入要保存秘钥的位置 直接输入key即可 就会在当前目录产生秘钥

接着Enter passphrase (empty for no passphrase):输入秘钥的密码 这里我设置成test123

接着Enter same passphrase again:就再输入一遍秘钥的密码

执行完后就在当前目录生成两个文件 一个key(私钥),一个key.pub(公钥)

6.复制公钥到指定目录

mkdir /home/leisiyuan/.ssh
cp key.pub /home/leisiyuan/.ssh/authorized_keys
chown leisiyuan -R /home/leisiyuan/.ssh/
restorecon -FRvv /home/leisiyuan/.ssh/
chmod 751 /home/leisiyuan
chmod 751 /home/leisiyuan/.ssh/authorized_keys

做完这一步 就可以测试用证书登录了,确认无误再进行下一步

4.禁止root直接登录  禁止密码登录

vi /etc/ssh/sshd_config

找到#PermitRootLogin yes替换为PermitRootLogin no

找到#PasswordAuthentication yes替换为PasswordAuthentication no

5.重启sshd服务器 使配置生效

service sshd restart

centos下面配置key登录的更多相关文章

  1. 使用 key 登录时分开记录操作历史记录

    线上服务器一般都是配置 key 登录,一个账号可以多个工作人员连接,操作命令历史却全部记录在一个文件中,当然后查看某条命令是谁执行的时候就不好查了.这时候我们就可以通过配置 histroy 相关环境变 ...

  2. Centos 7 使用Securecrt 配置Public key 登录

    环境:Centos 7 SecureCRT 版本:8.0.4 需求:配置使用Public key 登录服务器禁用密码登录 1. 配置使用SecureCRT,生成Public key 跟私钥 2. 配置 ...

  3. CentOS 下SSH无密码登录的配置

    CentOS 下SSH无密码登录的配置 最近学习Hadoop.它要求各节点之间通过SSH无密码登录,配置SSH的时候费了一番功夫,记录下来,以备忘. 配置SSH无密码登录需要3步: 1.生成公钥和私钥 ...

  4. SecureCRT 用ssh key登录配置方法

    服务器端配置 OS: Debian-6.0.5 复制代码 代码如下: #apt-get install ssh 安装ssh服务 编辑/etc/ssh/sshd_config配置文件 复制代码 代码如下 ...

  5. centos无法用password登录,只能用public key的解决办法

    如上图只能用public key登录,只是我在17年申请的阿里云免费体验半年的服务器上遇到的, 那么我们用阿里云后台的远程连接按钮进入服务器,进入后 就看/etc/ssh/sshd_config文件配 ...

  6. centos的key登录,关闭密码登录

    1.删除机器原有的key rm -rf /root/.ssh 2.创建key[root@rain ~]# ssh-keygen -t rsa一路回车 3.改名[root@rain ~]# mv /ro ...

  7. Centos使用key登录验证

    1. 新建用户lsyw 设置密码 #useradd lsyw #passwd lsyw 2. 测试新建用户可以登录 3. 修改root登录密码为通用root密码,测试用新密码登录是否成功 0!B2pj ...

  8. Linux配置使用SSH Key登录并禁用root密码登录(替换同理)

    Linux系统大多说都支持OpenSSH,生成公钥.私钥的最好用ssh-keygen命令,如果用putty自带的PUTTYGEN.EXE生成会不兼容OpenSSH,从而会导致登录时出现server r ...

  9. Linux配置使用SSH Key登录并禁用root密码登录

    Linux系统大多数都支持OpenSSH,生成公钥.私钥的最好用ssh-keygen命令,如果用putty自带的PUTTYGEN.EXE生成会不兼容OpenSSH,从而会导致登录时出现server r ...

随机推荐

  1. node.js 设置静态文件托管

    1.在app.js文件中设置静态文件托管 /*应用程序入口文件*/ /*加载express模块*/ var express = require('express'); /*加载模板处理模块*/ var ...

  2. P多行溢出省略号的处理

    因为-webkit-line-clamp: 2不兼容火狐或IE,采用判断浏览器的方式来启用哪个方式 先判断是什么浏览器 //判断是否是谷歌浏览器 if (!stripos($_SERVER[" ...

  3. Linux学习--第十一天--source、环境变量目录、欢迎信息、正则、cut、awk、sed、sort、判断表达式、if、for、case、一些脚本

    source source /root/.bashrc #让修改后的配置文件在不重启系统的情况下生效.source等同于. 环境变量目录 /etc/profile /etc/profile.d/*.s ...

  4. 国产芯片选型手册及厂商名录 版本V2019

  5. thinkphp 多条件联合查询 where例句

    $where['username'] = array("eq",$username); $where['phone'] = array("eq",$userna ...

  6. typedef int(init_fnc_t) (void)的理解

    typedef int(init_fnc_t) (void); 这个就是一个取别名的过程. 我们通常情况下会如下使用 typedef :typedef int MyInt;MyInt a; 这个时候我 ...

  7. Bootstarp-table入门(1)

    https://blog.csdn.net/dlf123321/article/details/52231926?locationNum=11&fps=1

  8. Luogu P3886 [JLOI2009]神秘的生物 最小表示法,轮廓线DP,插头DP,动态规划

    亲手写掉的第一道最小表示法!哈哈哈太开心啦~ 不同于以往的几个插头\(dp\),这个题目的轮廓线是周围的一圈\(n\)个格子.而其所谓"插头"也变成了相邻格子的所属连通分量编号,并 ...

  9. 曝郭盛华公司30万美元收购Acn.ai域名,揭秘人工智能布局下的巨头们

    据域名投资人曝料,郭盛华公司已经提前拿下.ai短域名 Acn.ai,目前域名已经设置跳转到东联科技的官网.都说域名越短越值钱,而且搜索引擎都喜欢更短的域名,例如京东更换的域名“jd.com”交易价格约 ...

  10. springboot扫描自定义的servlet和filter代码详解_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 这几天使用spring boot编写公司一个应用,在编写了一个filter,用于指定编码的filter,如下: /** ...