linux ssh常用配置密钥登录

这篇具有很好参考价值的文章主要介绍了linux ssh常用配置密钥登录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

SSH(Secure Shell)是一种加密网络协议,用于在不安全的网络中安全地传输数据。它可以提供远程登录和文件传输等功能。在 Linux 系统中,常用的 SSH 客户端是 OpenSSH,它可以通过命令行界面连接到远程主机,并在远程主机上执行命令。同时,OpenSSH 还提供了 scp 命令,用于在本地主机和远程主机之间传输文件。

安装

一般系统会自带ssh,不需要安装,systemclt status sshd

# centos发行版上安装 SSH
yum install openssh-server

# 要在 Ubuntu、Debian 或其他基于 Debian 的发行版上安装 SSH
apt install openssh-server

配置路径

SSH 的配置文件通常位于 /etc/ssh/sshd_config(SSH 服务器配置文件)和 ~/.ssh/config(SSH 客户端配置文件)

常用配置项

  • Port:指定SSH服务监听的端口,默认为22。可以通过修改此项增加安全性,使用非默认端口。
  • ListenAddress:指定SSH服务监听的网络地址。默认为0.0.0.0,表示监听所有网络接口。
  • Protocol:指定使用的SSH协议版本。默认为2,可以设置为1或2。一般建议使用协议版本2。
  • PermitRootLogin:允许或禁止root用户直接登录。建议禁止直接使用root登录,而使用其他普通用户登录后再切换为root。
  • PasswordAuthentication:允许或禁止使用密码进行身份验证。建议禁止密码登录,使用SSH密钥进行更安全的身份验证。
  • RSAAuthentication启用或禁用使用RSA算法进行用户身份验证。
  • PubkeyAuthentication启用或禁用使用公钥进行用户身份验证。
  • AllowUsers和DenyUsers:允许或拒绝特定用户登录SSH服务器。可以使用通配符。
  • AllowGroups和DenyGroups:允许或拒绝特定用户组登录SSH服务器。可以使用通配符。
  • MaxAuthTries:指定 SSH 登录的最大尝试次数,建议设置为 3-5 次。
  • UsePAM:启用或禁用Pluggable Authentication Modules(PAM)。默认启用,一般不建议禁用。
  • UseDNS:用于指定是否进行 DNS 反向解析。它控制是否在用户登录时尝试解析客户端的 IP 地址为主机名
  • Banner:指定SSH登录时显示的欢迎消息或法律通告的文件路径。
  • HostKey:指定 SSH 服务器使用的主机密钥文件路径。
  • X11Forwarding:启用或禁用X11转发。默认禁用。如果不需要图形界面,建议禁用。
  • PermitEmptyPasswords:允许或禁止空密码登录。默认禁用,建议保持禁用状态。
  • ClientAliveInterval和ClientAliveCountMax:用于保持SSH连接的活动状态。ClientAliveInterval指定服务器向客户端发送消息的时间间隔,ClientAliveCountMax指定服务器在断开连接之前尝试发送的次数。

配置root密码登录

# 允许root密码登陆
PermitRootLogin yes

 重启 SSH 服务:

[root@host .ssh]$ systemctl restart sshd

配置root密钥登录

1. 制作密钥对

在本地计算机上打开终端,使用以下命令生成SSH密钥对,上传公钥。

如果本地没有此命令,也可以在服务器上生成密钥对,下载私钥。

请确保妥善保管私钥,并不要共享或暴露给其他人,以确保系统的安全性。

[root@host ~]$ ssh-keygen  <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公钥
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host

密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。当然,也可以留空,实现无密码登录。

现在,在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。

2. 在服务器上安装公钥

# 在服务器上安装公钥
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys

# 保证以下文件权限正确:
[root@host .ssh]$ chmod 600 authorized_keys
[root@host .ssh]$ chmod 700 ~/.ssh

3. 修改sshd配置

# 启用使用RSA算法进行用户身份验证
RSAAuthentication yes

# 启用使用公钥进行用户身份验证
PubkeyAuthentication yes

# 允许root用户直接登录
PermitRootLogin yes

# 禁用密码登录:
PasswordAuthentication no

4. 重启 SSH 服务:

[root@host .ssh]$ systemctl restart sshd

5. 在本地使用私钥进行登录

使用 WinSCP、SFTP、Xshell 等工具使用私钥文件 id_rsa 。载入你的私钥文件。如果你刚才设置了密钥锁码,这时则需要输入。


查看原文:linux ssh常用配置密钥登录

关注公众号 "字节航海家" 及时获取最新内容

linux ssh常用配置密钥登录,linux,ssh,运维文章来源地址https://www.toymoban.com/news/detail-818998.html

到了这里,关于linux ssh常用配置密钥登录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Linux创建SSH密钥、设置密钥登录、密钥登录原理

    Linux有2种登录方式: 使用用户名加密码的登录方式; 密钥登录; 密钥登录: SSH登录是用的RSA非对称加密的,SSH密钥登录的时候可使用RSA密钥登录,SSH有专门创建SSH密钥的工具 ssh-keygen 一般的密码方式登录,容易有密码被暴力破解的问题。 将 SSH 的端口设置为默认的 22 以外的

    2024年02月08日
    浏览(63)
  • 实战攻防演练-Linux写入ssh密钥,利用密钥登录

    密钥形式登录的原理是利用密钥生成器制作一对密钥,一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账

    2024年02月08日
    浏览(58)
  • linux ssh 密钥配置

    1、说明:         1、ssh:Secure Shell (SSH) 是一个允许两台电脑之间通过安全的连接进行数据交换的网络协议。SSH采用公钥加密技术来验证远程主机,以及(必要时)允许远程主机验证用户。         2、与telnet和sftp的区别:FTP、Telnet是再网络中明文传送数据、用户帐号和密码。

    2024年02月16日
    浏览(39)
  • Xshell配置密钥 免密登录Linux

    一、使用Xshell生成密钥 打开Xshell-点击工具-点击新建用户密钥生成向导     输入密钥名称和密码(密码可以为空)   复制公钥然后点击完成即可   这里直接点击关闭   二、将公钥粘贴至服务器的~/.ssh/authorized_keys 文件中 连接Linux-打开xftp  找到.ssh目录下的authorized_key文件并将

    2024年02月03日
    浏览(42)
  • Xshell “所选的用户密钥未在远程主机上注册,请再试一次”SSH 登录远程linux服务器(良心整理)

    这个问题真的要把我逼疯了,为什么呢? 为了解决这个问题,我搜遍了CSDN、知乎、简书上的解决方案,CSDN上的回答真的是水文太多,相互抄,抄就抄吧,只抄一半。这让真正想解决问题的人走了太多的弯路。 也不知道是谁写的原文,可能作者解决了,但是写的很不清楚,也

    2023年04月15日
    浏览(45)
  • 如何在 Linux 服务器上配置基于 SSH 密钥的身份验证

    前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 介绍 SSH是一种加密协议,用于管理服务器并与服务器通信。虽然登录 SSH 服务器的方式有多种,下面我们将重点关注设置 SSH 密钥。 SSH 密钥提供了一

    2024年01月23日
    浏览(60)
  • SSH密钥生成及登录

    公钥是与私钥算法一起使用的密钥对的非秘密一半。公钥加密又称非对称加密。私钥加密算法使用单个私钥来加密和解密数据。由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保护密钥不被未经授权的代理得到。私钥加密又称为对称加密,因为同一密钥既用于

    2024年02月11日
    浏览(57)
  • ssh使用密钥登录

    使用密钥登录可以提高ssh的安全性,因为它能防止恶意用户尝试使用暴力破解技术尝试猜测密码。在ssh中,使用密钥登录分为两个步骤: 生成或获取一对公钥和私钥。 将公钥添加到服务器上管理的用户的 ~/.ssh/authorized_keys 文件中。 下面是更详细的步骤: 可以使用以下命令来

    2024年02月13日
    浏览(42)
  • 使用密钥登录ssh

    1、生成公钥和私钥 输入完后,一直按回车即可 2、生成密钥以后,再家目录中查看是否生成.ssh的文件 3、将.ssh中的公钥的文件追加到authorized_keys文件中 切换到上一级目录,并给.ssh赋予700权限 再进去到.ssh文件 给authorized_keys文件赋予600权限(600权限只有当前用户可以对它进行

    2024年02月14日
    浏览(46)
  • Jenkins配置远程服务器之Publish over SSH、SSH Servers、以及Linux系统生成RSA公私密钥

    场景: 1、Publish Over SSH 插件是通过SSH连接远程服务器,可以远程执行Shell命令或传输文件 2、有两种验证方式,密码方式和秘钥方式 3、前置条件:需要安装 Public over SSH 插件 一、密码验证方式 1、位置:Jenkins 》系统管理 》系统配置》Publish over SSH 2、添加 SSH Servers 远程路径

    2023年04月22日
    浏览(92)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包