简单几步学会Linux用户使用SSH远程免密登录,LinuxSSH服务器配置允许/禁止某些用户远程登录

这篇具有很好参考价值的文章主要介绍了简单几步学会Linux用户使用SSH远程免密登录,LinuxSSH服务器配置允许/禁止某些用户远程登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文基于Linux上CentOS 7版本配合Xshell 7进行演示

目录

一.SSH简介

1.介绍

2.工作流程

二.具体配置免密步骤

1.配置前准备工作

2.正式配置过程

三.在服务器端配置SSH远程黑白名单

1.配置文件/etc/ssh/sshd_config部分参数解析

2.配置远程登录黑白名单


一.SSH简介

1.介绍

SSH用于计算机之间的加密登录,是一类网络协议,使用SSH协议远程登录另一台计算机,这种登录是相对安全的,即使被中途截获,密码不会泄露。

2.工作流程

(1)建立连接:SSH服务器在指定的端口监听客户端的连接请求,在客户端向服务器发起连接请求后,建立一个TCP连接。

(2)协商版本:某些版本可以支持更多的认证方法和密钥交换方法,SSH服务器和客户端通过协商确定最终使用的SSH版本号。

(3)算法协商:双方根据各自支持的算法,协商出最终用于产生会话密钥的密钥交换算法,用于数据信息加密的加密算法、用于进行数字签名和认证的公钥算法。

(4)交换密钥:服务器和客户端通过密钥交换算法,动态生成共享的会话密钥和绘画ID,建立加密通道。会话密钥主要用于后续数据传输的加密,会话ID用于在认证过程中标识该SSH连接。

(5)用户认证:密码(password)认证、密钥(publickey)认证、password-publickey认证(同时满足)、all认证(选择其一)

(6)会话请求和交互:认证通过后,SSH客户端向服务器端发送会话请求,请求服务器提供服务,建立好会话后,SSH服务器端和客户端在该会话上进行数据信息交互。

二.具体配置免密步骤

1.配置前准备工作

(1)准备两台Linux虚拟机,一台作为服务端,一台作为用户端

注意:两台虚拟机均需要关闭selinux、防火墙(可参考专栏相关文章)

(2)使用Xshell远程连接工工具生成公钥文件

点击“新建用户密钥生成向导”

禁止root远程登录ssh,Linux,linux,ssh,运维,centos 点击“下一步”到此页面,保持默认选项即可,再点击“下一步” 禁止root远程登录ssh,Linux,linux,ssh,运维,centos

在此定义好名称和密码,点击“下一步” 禁止root远程登录ssh,Linux,linux,ssh,运维,centos

在此已经生成公钥文件,可以复制下框内文本,也可以将文本保存为桌面文件,方便下一步使用,点击完成即可禁止root远程登录ssh,Linux,linux,ssh,运维,centos

 (3)开始在服务器端存放客户端公钥,查看是否有/root/.ssh/authorized_keys文件,如果没有可以手动创建。

[root@sulibao ~]# cd /root/.ssh/
[root@sulibao .ssh]# ll
total 8
-rw-r--r-- 1 root root 381 Jan  4 10:30 authorized_keys

2.正式配置过程

(1)在服务器端编辑/root/.ssh/authorized_keys,将上面保存的客户端公钥文本保存在文件中

禁止root远程登录ssh,Linux,linux,ssh,运维,centos

 (2)在客户端,使用“ssh-keygen -t rsa -b 2048”命令生成密钥文件

[sulibao@sulibao ~]$ ssh-keygen -t rsa -b 2048
//-t指定加密算法,-b指定位数

禁止root远程登录ssh,Linux,linux,ssh,运维,centos(3)在客户端使用 “ssh-copy-id -i root@服务端IP”将密钥文件拷贝给服务端,并输入一次服务器端密码

[sulibao@sulibao ~]$ ssh-copy-id -i root@192.168.xx.xx

 禁止root远程登录ssh,Linux,linux,ssh,运维,centos

(4)测试是否能够免密登录,“ssh 用户名@目标IP” 

[sulibao@sulibao ~]$ ssh root@192.168.xx.xx
Last login: Fri Jan  6 11:42:27 2023 from 192.168.xx.xx
[root@sulibao ~]# 

注意:此时如果想从服务端免密登录客户端,就在服务端重复上述在客户端的操作操作即可

禁止root远程登录ssh,Linux,linux,ssh,运维,centos

三.在服务器端配置SSH远程黑白名单

主要是对“/etc/ssh/sshd_config”配置文件进行修改

1.配置文件/etc/ssh/sshd_config部分参数解析

Port 22 监听端口,默认监听22端口
AddressFamily any IPV4和IPV6协议家族用哪个,any表示二者均有
ListenAddress 0.0.0.0 指明监控的地址,0.0.0.0表示本机的所有地址
ListenAddress :: 指明监听的IPV6的所有地址格式
Protocol 2 使用SSH第二版本
HostKey for protocol version 1 一版的SSH支持以下一种秘钥形式
HostKeys for protocol version 2

使用第二版本发送秘钥,支持以下四种秘钥认证的存放位置

HostKey /etc/ssh/ssh_host_rsa_key       # rsa私钥认证 
HostKey /etc/ssh/ssh_host_dsa_key      # dsa私钥认证
HostKey /etc/ssh/ssh_host_ecdsa_key     # ecdsa私钥认证
HostKey /etc/ssh/ssh_host_ed25519_key   # ed25519私钥认证

ServerKeyBits 1024 主机秘钥长度
LoginGraceTime 2m 登录的宽限时间,默认2分钟没有输入密码,则自动断开连接
PermitRootLogin yes 是否允许管理员远程登录,'yes'表示允许,‘no’表示禁止
StrictModes yes 是否让sshd去检查用户主目录或相关文件的权限数据
MaxAuthTries 6    最大认证尝试次数,最多可以尝试6次输入密码。之后需要等待某段时间后才能再次输入密码
MaxSessions 10   允许的最大会话数
AuthorizedKeysFile .ssh/authorized_keys 选择基于密钥验证时,客户端生成一对公私钥之后,会将公钥放到.ssh/authorizd_keys里面
PasswordAuthentication yes 是否允许支持基于口令的认证
ChallengeResponseAuthentication no   是否允许使用键盘输入身份验证,也就是xshell的第三个登录方式
UseDNS yes 是否反解DNS,如果想让客户端连接服务器端快一些,可以改为no
ubsystem sftp /usr/libexec/openssh/sftp-server 支持 SFTP ,如果注释掉,则不支持sftp连接
AllowUsers user1 user2   登录白名单(默认没有这个配置,需要自己手动添加),允许远程登录的用户。如果名单中没有的用户,则提示拒绝登录

2.配置远程登录黑白名单

(1)禁止root用户远程登录,将PermitRootLogin yes改为PermitRootLogin no

禁止root远程登录ssh,Linux,linux,ssh,运维,centos

 需要重启sshd服务该配置文件才生效

[root@sulibao ~]# systemctl restart sshd

此时再使用Xshell以root用户身份则无法登录

禁止root远程登录ssh,Linux,linux,ssh,运维,centos

(2)禁止/允许某些用户登录 

新建两个用户user1和user2来测试

[root@sulibao ~]# useradd user1 
[root@sulibao ~]# useradd user2

编辑配置文件“/etc/ssh/sshd_config ”,在文末添加内容后重启

[root@sulibao ~]# vim /etc/ssh/sshd_config 

禁止root远程登录ssh,Linux,linux,ssh,运维,centos

[root@sulibao ~]# systemctl restart sshd

进行测试,user1可以登录而user2不行

禁止root远程登录ssh,Linux,linux,ssh,运维,centos

禁止root远程登录ssh,Linux,linux,ssh,运维,centos注意:AllowUsers 选项指定哪些用户可以登录,那么所有非指定用户都不能登录,像上面的情况只指定了user1可以登录,此时连root用户都不能登录,需要谨慎修改!文章来源地址https://www.toymoban.com/news/detail-834696.html

到了这里,关于简单几步学会Linux用户使用SSH远程免密登录,LinuxSSH服务器配置允许/禁止某些用户远程登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 简单使用!使用shell脚本实现ssh免密登录

    目录 1.expect命令:可以在外输入,某些命令执行后弹出的输入提示 2.使用expect命令来创建本地的公钥文件 3.复制ssh的公钥文件到各个主机上: 4.完整的shell脚本:

    2024年02月14日
    浏览(30)
  • 如何设置SSH免密登录,只需两步(小白也能学会)

    SSH 免密登录可以让用户在不输入密码的情况下登录远程服务器,提高登录效率和安全性。以下是 SSH 免密登录的步骤: 生成公钥和私钥 在本地电脑上使用 ssh-keygen 命令生成公钥和私钥。默认情况下,这些文件将被保存在 ~/.ssh 目录下。 将公钥复制到远程服务器 使用 ssh-copy

    2024年02月11日
    浏览(27)
  • linux之Ubuntu系列(三)远程管理指令☞SSH 高级应用 RSA非对称加密 以及免密登录,配置别名

    对称加密 、非对称加密 1、对称加密中 加密和解密 使用的秘钥是同一个;非对称加密中采用两个密钥,一般使用公钥进行加密,私钥进行解密。 2、对称加密解密的速度 比较快 ,非对称加密和解密花费的 时间长、速度相对较慢 。 3、对称加密的安全性相对较低,非对称加密

    2024年02月16日
    浏览(35)
  • 【数据结构】---几分钟简单几步学会手撕链式二叉树(下)

    👧个人主页:@小沈熬夜秃头中୧⍤⃝❅ 😚小编介绍:欢迎来到我的乱七八糟小星球🌝 📋专栏:数据结构 🔑本章内容:手撕链式二叉树 送给各位💌:成为更好的自己才是应该做的事 记得 评论📝 +点赞👍 +收藏😽 +关注💞哦~ 提示:以下是本篇文章正文内容,下面案例可

    2024年02月08日
    浏览(29)
  • 【数据结构】---几分钟简单几步学会手撕链式二叉树(上)

    👧个人主页:@小沈熬夜秃头中୧⍤⃝❅ 😚小编介绍:欢迎来到我的乱七八糟小星球🌝 📋专栏:数据结构 🔑本章内容:手撕链式二叉树 送给各位💌:我从没觉得孤独 说的浪漫点 我完全自由 记得 评论📝 +点赞👍 +收藏😽 +关注💞哦~ 提示:以下是本篇文章正文内容,下

    2024年02月07日
    浏览(26)
  • Windows下使用SSH密钥实现免密登陆Linux服务器

    工具: win10、WinSCP 生成ssh密钥: 打开终端,使账号密码登录,输入命令 会提示密钥存放路径,一般存放在默认路径,直接回车即可,中间会提示输入密码,这里需要注意,如果设置密码,则每次登陆的时候需要输入此密码来登陆,如果不输入密码的话可以直接使用密钥登陆

    2023年04月14日
    浏览(37)
  • VSCODE[配置ssh免密远程登录]

    本文摘录于:https://blog.csdn.net/qq_44571245/article/details/123031276只是做学习备份之用,绝无抄袭之意,有疑惑请联系本人! 这里要注意如下几个地方: 1.要进入.ssh目录创建文件: 2.是拷贝带\\\"ssh-rsa \\\"内容的文件:

    2024年02月13日
    浏览(31)
  • Linux添加新用户及SSH远程登录|解决无法添加SSH的问题

    Linux 创建新用户主要有两条命令: adduser 和 useradd ,与其对应的两种删除用户的命令: deluser 和 userdel adduser :自动为新建的用户创建用户组、用户目录、选择shell版本并添加用户密码 useradd :需要靠添加参数来指定设置上述哪些变量,如未添加参数 则新建的用户均无上述变

    2024年02月12日
    浏览(51)
  • ssh远程免密登录服务器

    1、将密钥复制到服务器指定位置,如”~/.ssh/id_rsa.pub“ 2、添加到authorized_keys 之后便可实现ssh免密连接服务器

    2024年02月13日
    浏览(31)
  • mac vscode远程ssh免密登录

    参考:http://www.pingtaimeng.com/article/detail/id/1922463 mac、vscode免密码登录远程服务器SSH 主要通过ssh设置 步骤如下 mac本地电脑,```ssh-keygen -t rsa`` 获取密匙 登录远程server服务器,将 本地mac密匙的 id_rsa.pub 写入到 server服务器的.ssh 文件夹的 authorized_keys 文件中,保存接口 cd / cd ~/.ssh

    2023年04月16日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包