AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[authentication](unix)

Martin Hope
PersianGulf
Asked: 2025-02-20 21:40:01 +0800 CST

定义用户和 OU 后凭证无效

  • 5

首先我使用以下内容定义一个新的LDIFOU ldapadd -x -D "cn=admin,dc=nodomain" -W -f ./ou.ldif:

root@debian:~# cat ou.ldif 
dn: OU=People,DC=nodomain
objectClass: organizationalUnit
ou: People
description: Organizational Unit for Sales Department

身份验证后,ldap 将我的 OU 添加到 ldap。

然后我通过以下方式将我的 users.ldif 添加到 ldap 中:

root@debian:~#  ldapadd -x -H ldap:/// -D "cn=admin,dc=nodomain" -W -f ./users.ldif
Enter LDAP Password: 
adding new entry "uid=root,ou=People,dc=nodomain"
adding new entry "uid=daemon,ou=People,dc=nodomain"
adding new entry "uid=man,ou=People,dc=nodomain"
adding new entry "uid=noody,ou=People,dc=nodomain"
adding new entry "uid=systemd_network,ou=People,dc=nodomain"
adding new entry "uid=tss,ou=People,dc=nodomain"
adding new entry "uid=systemd-coredump,ou=People,dc=nodomain"
adding new entry "uid=systemd-timesync,ou=People,dc=nodomain"
adding new entry "uid=messagebus,ou=People,dc=nodomain"
adding new entry "uid=usbmux,ou=People,dc=nodomain"
adding new entry "uid=sshd,ou=People,dc=nodomain"
adding new entry "uid=dnsmasq,ou=People,dc=nodomain"
adding new entry "uid=avahi,ou=People,dc=nodomain"
adding new entry "uid=speech-dispacher,ou=People,dc=nodomain"
adding new entry "uid=fwupd-refresh,ou=People,dc=nodomain"
adding new entry "uid=saned,ou=People,dc=nodomain"
adding new entry "uid=sddm,ou=People,dc=nodomain"
adding new entry "uid=geoclue,ou=People,dc=nodomain"
adding new entry "uid=polkitd,ou=People,dc=nodomain"
adding new entry "uid=rtkit,ou=People,dc=nodomain"
adding new entry "uid=colord,ou=People,dc=nodomain"
adding new entry "uid=gnome-initial-setup,ou=People,dc=nodomain"
adding new entry "uid=tcpdump,ou=People,dc=nodomain"
adding new entry "uid=postgres,ou=People,dc=nodomain"
adding new entry "uid=mohsen,ou=People,dc=nodomain"
adding new entry "uid=redis,ou=People,dc=nodomain"
adding new entry "uid=pulse,ou=People,dc=nodomain"
adding new entry "uid=Debian-gdm,ou=People,dc=nodomain"
adding new entry "uid=hplip,ou=People,dc=nodomain"
adding new entry "uid=strongswan,ou=People,dc=nodomain"
adding new entry "uid=libvirt-qemu,ou=People,dc=nodomain"
adding new entry "uid=nobody,ou=People,dc=nodomain"
adding new entry "uid=systemd-network,ou=People,dc=nodomain"
adding new entry "uid=mysql,ou=People,dc=nodomain"
adding new entry "uid=avahi-autoipd,ou=People,dc=nodomain"
adding new entry "uid=_galera,ou=People,dc=nodomain"
adding new entry "uid=ftp,ou=People,dc=nodomain"
adding new entry "uid=speech-dispatcher,ou=People,dc=nodomain"
adding new entry "uid=Debian-exim,ou=People,dc=nodomain"
adding new entry "uid=gnome-remote-desktop,ou=People,dc=nodomain"
adding new entry "uid=cups-pk-helper,ou=People,dc=nodomain"

一切正常,但是当我想通过以下方式搜索时:

root@debian:~# ldapsearch -L  -H ldap:/// -b cn=People,dc=nodomain,cn=admin ou
SASL/SCRAM-SHA-512 authentication started
Please enter your password: 
ldap_sasl_interactive_bind: Invalid credentials (49)
    additional info: SASL(-13): user not found: no secret in database

在定义 OU 和添加用户之前,我没有遇到任何身份验证问题。

我该如何解决这个问题?

authentication
  • 1 个回答
  • 15 Views
Martin Hope
PersianGulf
Asked: 2025-02-19 14:02:43 +0800 CST

更改密码 ldap_bind:无效凭证(49)

  • 5

信息:
我安装了ldap-utils,slapd在安装 slapd 时,ncurses我使用对话框输入了管理员密码。
然后我通过以下方式更改了密码

ldapmodify -Q -Y EXTERNAL -H ldapi:/// << E0F
dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}qUoTRPwppaedqHQTgYOPYWokr3SiXjbK
E0F

但ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f ./users.ldif我收到以下消息:

Enter LDAP Password: 
ldap_bind: Invalid credentials (49)

顺便说一句,我没有slapd.conf。
如何通过 ldap 程序进行身份验证?

更新:

root@debian:~# cat /etc/ldap/slapd.d/cn\=config/olcDatabase\=\{1\}mdb.ldif 
# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 73bfb3a8
dn: olcDatabase={1}mdb
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {1}mdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=nodomain
olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
olcAccess: {1}to attrs=shadowLastChange by self write by * read
olcAccess: {2}to * by * read
olcLastMod: TRUE
olcRootDN: cn=admin,dc=nodomain
olcDbCheckpoint: 512 30
olcDbIndex: objectClass eq
olcDbIndex: cn,uid eq
olcDbIndex: uidNumber,gidNumber eq
olcDbIndex: member,memberUid eq
olcDbMaxSize: 1073741824
structuralObjectClass: olcMdbConfig
entryUUID: 10bd0d0a-82d1-103f-92a4-058be6d2a441
creatorsName: cn=admin,cn=config
createTimestamp: 20250219054944Z
olcRootPW:: MTIzMTIzMTIz
entryCSN: 20250219060430.002303Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20250219060430Z
authentication
  • 1 个回答
  • 22 Views
Martin Hope
vcth4nh
Asked: 2022-01-15 20:08:36 +0800 CST

sshd 身份验证过程是如何工作的?

  • 1

在 sshd(8) 手册页中:

OpenSSH SSH 守护程序仅支持 SSH 协议 2。每个主机都有一个特定于主机的密钥,用于标识主机。每当客户端连接时,守护程序都会使用其公共主机密钥进行响应。客户端将主机密钥与自己的数据库进行比较,以验证它没有更改。前向保密是通过 Diffie-Hellman 密钥协议提供的。该密钥协议产生共享会话密钥。会话的其余部分使用对称密码进行加密。

(由我强调)
有人可以向我解释身份验证过程是如何工作的吗?我认为:

  1. 每个主机都有一个唯一的 ssh 密钥(公共和私有)
  2. 当客户端连接到服务器时,sshd 守护进程为客户端提供公钥
  3. 客户然后做一些我不明白的事情
  4. 之后,该会话的其余部分被加密。

我对么?有人可以详细解释一下客户端将主机密钥与自己的数据库进行比较以验证它没有更改是什么意思吗?

openssh authentication
  • 1 个回答
  • 45 Views
Martin Hope
Parsa Mousavi
Asked: 2020-03-06 04:19:19 +0800 CST

“Polkit”是否利用了 linux 功能?

  • 0

我知道像 KDE 这样的一些身份验证程序KAuth可以polkit用作后端。而 polkit 的特别之处在于它可以将某些特定权限授予非特权进程。一个让我想起capabilities(7).
但是是否polkit利用了能力或其他基础设施?
谢谢。

linux authentication
  • 1 个回答
  • 118 Views
Martin Hope
David West
Asked: 2020-02-08 08:36:21 +0800 CST

如何设置策略以仅在公钥具有满足要求的密码时启用公钥身份验证?

  • 0

如何设置策略以仅在公钥具有满足要求的密码时启用公钥身份验证?

目前人们用ssh-keygen. 我们希望强制创建和使用具有符合标准的密码的密钥。

谢谢。

authentication key-authentication
  • 1 个回答
  • 40 Views
Martin Hope
philipp
Asked: 2020-01-25 00:56:51 +0800 CST

PAM — 完全禁用密码登录

  • 2

我正在尝试提高整个 IT 基础架构的安全性,因此我开始使用智能卡进行登录。我已经设法使用私钥和 x.509 证书配置 PIV 智能卡并进行设置pam_pkcs#11,以便智能卡登录工作。如文档中所述,我添加了以下内容:

auth    [success=2 default=ignore]      pam_pkcs11.so

toetc/pam.d/common-auth和 since 比智能卡登录有效。但是现在,如果读取器和智能卡被移除,系统将退回到密码登录(在这种情况下是 gnome)。

所以我的目标是完全禁用密码登录,无论是否有图形界面。如果读卡器和智能卡没有连接,应该不能登录。

我读过的某处passwd -l $(whoami)将某个帐户的密码设置为非活动状态,但这对我来说感觉不对。

是否可以这样做pam,这样整个机器都禁用密码登录?

顺便说一句:现在我正在使用 ubuntu 19.10

pam authentication
  • 3 个回答
  • 6379 Views
Martin Hope
Zumo de Vidrio
Asked: 2019-06-20 06:40:34 +0800 CST

Pamldap 连接被拒绝

  • 0

我正在尝试通过 Ubuntu 16.04 中的 pamldap 设置 ssh 访问,并且在配置完所有内容后,我无法将 /etc/passwd 与 LDAP 服务器的信息同步。

ldapsearch 工作正常,因此绑定选项配置良好。

当我做

getent group

我可以看到所有 LDAP 服务器组,但是

getent passwd

只有本地用户信息。

通过调试 nslcd,我可以看到每当我尝试使用 ldap 用户登录(su 或 ssh)时,它都能在 LDAP 服务器中找到我的用户。

另外: su ldap_user 返回:

用户没有密码条目

当我尝试 ssh 连接时,auth.log 写道:

Invalid user ldap_user from IP
input_userauth_request: invalid user ldap_user [preauth]
pam_unix(sshd:auth): check pass; user unknown
pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=IP
pam_sss(sshd:auth): Request to sssd failed. Connection refused
pam_ldap(sshd:auth): Authentication failure; user=ldap_user
Failed password for invalid user ldap_user from IP port 55911 ssh2

nsswitch.conf文件有:

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap
gshadow:        files

hosts:          files dns ldap
networks:       files ldap

protocols:      db files ldap
services:       db files ldap
ethers:         db files ldap
rpc:            db files ldap

netgroup:       nis ldap
sudoers:        files
ssh authentication
  • 1 个回答
  • 450 Views
Martin Hope
symcbean
Asked: 2019-05-11 08:02:12 +0800 CST

su:无法打开会话:权限被拒绝

  • 0

我尝试在控制台上以 root 身份并通过 ssh 登录时遇到“访问被拒绝”(是的,我知道应该禁用 root ssh 访问 - 我刚刚继承了这个框)。我可以作为对“ALL”具有 sudo 访问权限的非 root 用户登录,但是当sudo su -我得到:

su: cannot open session: Permission denied

如果我使用我认为正确的密码运行“su”,我会收到“身份验证失败”。

环顾互联网,我可以看到很多人们无法“su - non-root-user ”的情况,但在那里有效的补救措施似乎都不适用于这里。/etc、/etc/pam.d 上的权限是 0755,而 /etc/pam.d/* 上的权限都是 0644,除了更宽松的符号链接。/etc/passwd 中的 root 的 shell 是 /bin/bash(为我的非 root 用户工作)。没有 /etc/nologin

这是一个相当老的 Centos 主机。

除非必须,否则我宁愿不要让盒子离线来修复它。还有什么可以阻止 root 登录 / su / sudo su ?

更新 主机并不像我想象的那么旧 - 它的 Centos 7.4

我可以通过运行获得root权限

sudo -u root /bin/bash

(但更传统的方法仍然失败并出现相同的错误)。

在尝试运行“su”时,会出现以下日志条目(但 su 向标准输出报告错误并退出)

 May 17 15:25:06 myhost su: pam_limits(su:session): Could not set limit for 'nofile': Operation not permitted
 May 17 15:25:06 myhost su: pam_unix(su:session): session opened for user root by symcbean(uid=0)
authentication root
  • 1 个回答
  • 6898 Views
Martin Hope
EH Khiari
Asked: 2019-04-23 07:13:43 +0800 CST

无法通过 SSH 连接到服务器,因为 authorized_keys 位于不同的文件夹中

  • 0

我之前能够使用密码验证通过 SSH 连接到这个远程服务器。我想改变它,让它使用私钥/公钥对。我按照必要的步骤生成密钥对,编辑/etc/ssh/sshd_config文件以启用 RSA 和 Pubkey 身份验证,并禁用密码身份验证:

RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no

问题是我(错误地)将authorized_keys文件移出~/.ssh/远程主机的文件夹。因此,在退出远程主机后,我无法通过 SSH 重新登录,因为它无法识别我的私钥,并显示以下消息: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

我现在是否被永久锁定在远程服务器之外?有没有办法authorized_keys在 SSH 命令本身中指定文件的位置?

ssh authentication
  • 1 个回答
  • 1607 Views
Martin Hope
Ben Hirschberg
Asked: 2019-03-05 11:20:13 +0800 CST

如何配置 Linux 以基于 Keycloak 用户数据库对用户进行身份验证?

  • 5

我在 Keycloak 中有一个现有的用户数据库。

我想构建一台Linux机器,根据Keycloak中的用户数据库(用户名,密码)登录用户。

我怎样才能做到这一点?

login authentication
  • 1 个回答
  • 8661 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve