在 Centos 7 服务器上设置 firewallD。他们使用 LDAP 通过 SSH 登录进行身份验证。我是否需要在 FirewallD 的默认区域上明确允许端口 389 LDAP,或者因为 iv 允许 SSH 并且服务器最初将出站连接到 LDAP,返回入站连接不需要这样做吗?
我对 LDAP 不是很熟悉。我想连接到 LDAP 服务器的服务器可能只需要读取 LDAP 目录,而 LDAP 服务器不需要在端口 389 上发送任何数据?
在 Centos 7 服务器上设置 firewallD。他们使用 LDAP 通过 SSH 登录进行身份验证。我是否需要在 FirewallD 的默认区域上明确允许端口 389 LDAP,或者因为 iv 允许 SSH 并且服务器最初将出站连接到 LDAP,返回入站连接不需要这样做吗?
我对 LDAP 不是很熟悉。我想连接到 LDAP 服务器的服务器可能只需要读取 LDAP 目录,而 LDAP 服务器不需要在端口 389 上发送任何数据?
我编写了这个脚本,它现在可以在没有安装 SElinux 的系统上完美运行。
echo Enter server IP:
read server
scp /home/Zenoss/.ssh/authorized_keys random@$server:/home/random
sshpass -p randompassword ssh -t random@$server sudo -i 'useradd zenoss; sudo mkdir /home/zenoss/.ssh; sudo mv /home/random/authorized_keys /home/zenoss/.ssh/;
sudo chmod 700 /home/zenoss/.ssh;
sudo chmod 600 /home/zenoss/.ssh/authorized_keys;
sudo chown -R zenoss /home/zenoss/.ssh;
sudo chgrp -R zenoss /home/zenoss/.ssh;
exit'
所以在没有 SElinux 的服务器上,脚本可以运行,然后 Zenoss 可以通过 SSH 登录到远程服务器并开始监控。但是在启用 SELinux 的系统上,脚本可以工作,但 Zenoss 无法通过 SSH 连接到远程服务器,调试信息显示它没有看到已成功设置的 authorized_keys 文件。
OpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug1: Connecting to ***** port 22.
debug1: Connection established.
debug1: identity file /home/zenoss/.ssh/id_rsa type 1
debug1: identity file /home/zenoss/.ssh/id_rsa-cert type -1
debug1: identity file /home/zenoss/.ssh/id_dsa type 2
debug1: identity file /home/zenoss/.ssh/id_dsa-cert type -1
debug1: identity file /home/zenoss/.ssh/id_ecdsa type -1
debug1: identity file /home/zenoss/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/zenoss/.ssh/id_ed25519 type -1
debug1: identity file /home/zenoss/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH_6.6.1* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: kex: [email protected] need=16 dh_need=16
debug1: kex: [email protected] need=16 dh_need=16
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA ***************
The authenticity of host '******' can't be established.
ECDSA key fingerprint is **************************
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '*******' (ECDSA) to the list of known hosts.
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: gssapi-keyex
debug1: No valid Key exchange context
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available
debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/zenoss/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Offering DSA public key: /home/zenoss/.ssh/id_dsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/zenoss/.ssh/id_ecdsa
debug1: Trying private key: /home/zenoss/.ssh/id_ed25519
debug1: Next authentication method: password
zenoss@****s password:
有谁知道这是什么原因以及我如何解决它,禁用 SELinux 不是一个选项。
韩国
我是一名新的系统管理员,我正在学习这个角色。我在这里有一个无法工作的 bash 脚本。这只是一个测试脚本,因为它是我的第一个脚本,所以我知道将 authorized_keys 设置为 777 是不明智的,但我这样做只是为了检查我的脚本现在是否有效。
我正在使用带有密码的 LDAP,因此使用密钥通过 SSH 连接到远程设备并不理想,因此我使用的是 ssh 通行证。
此代码适用于 useradd,然后它不会 mkdir .ssh,不会触摸/创建授权密钥,并且不会更改文件权限。
为什么?
#!/bin/bash -x
username="test"
echo Enter server IP:
read server
sshpass -p randompassword ssh myusername@$server sudo -i 'useradd test1;
echo $username user added, press any key to continue;
read;
sudo -i;
mkdir /home/test1/.ssh;
cd /home/test1/.ssh;
touch authorized_keys;
chmod 777 authorized_keys'
我可能无法正确理解 bash 脚本,但所有这些命令都需要在远程机器上运行。