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
    • 最新
    • 标签
主页 / user-215012

saleetzo's questions

Martin Hope
saleetzo
Asked: 2019-09-05 16:51:14 +0800 CST

在端口 22 上的批量登录尝试关闭了我们的 SSH git 服务器访问,但 HTTPs 仍然有效

  • 0

最近,我们看到很多从 IP 连接到我们的公共git服务器的连接。发生这种情况时,我们的开发人员无法通过 SSH 提交,因为服务器非常非常慢,我无法通过 SSH 远程登录,必须从控制台登录才能解决问题。发生这种情况时, HTTPsgitlab仍然有效。系统资源很丰富,我已经编辑sshd_config阻止所有端口 22 访问,除非他们有密钥。我也有 IPS 设置来阻止多次 SSH 尝试并fail2ban在服务器上进行。

通过所有这些设置,我不确定这是如何为服务器造成这样的问题。我可以通过重新启动sshd服务并阻止有问题的子网来解决问题,但为什么它会如此混乱 SSH 以致服务器无法通过 SSH 使用?所有这些尝试是否以某种方式使用所有端口并因此阻止合法访问尝试?secure下面是一个尝试的日志文件的副本。请注意,从 14:30:18 到 14:30:50 有很大的时间间隔。

Sep  4 14:30:17 somegitserver sshd[5924]: Connection from 11.11.11.11 port 62290
Sep  4 14:30:17 somegitserver sshd[5924]: debug1: Client protocol version 2.0; client software version libssh-0.11
Sep  4 14:30:17 somegitserver sshd[5924]: debug1: no match: libssh-0.11
Sep  4 14:30:17 somegitserver sshd[5924]: debug1: Enabling compatibility mode for protocol 2.0
Sep  4 14:30:17 somegitserver sshd[5924]: debug1: Local version string SSH-2.0-OpenSSH_5.3
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: permanently_set_uid: 74/74
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: list_hostkey_types: ssh-rsa,ssh-dss
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: SSH2_MSG_KEXINIT sent
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: SSH2_MSG_KEXINIT received
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: kex: client->server aes128-cbc hmac-sha1 none
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: kex: server->client aes128-cbc hmac-sha1 none
Sep  4 14:30:17 somegitserver sshd[5941]: debug1: expecting SSH2_MSG_KEXDH_INIT
Sep  4 14:30:18 somegitserver sshd[5941]: debug1: SSH2_MSG_NEWKEYS sent
Sep  4 14:30:18 somegitserver sshd[5941]: debug1: expecting SSH2_MSG_NEWKEYS
Sep  4 14:30:18 somegitserver sshd[5941]: debug1: SSH2_MSG_NEWKEYS received
Sep  4 14:30:18 somegitserver sshd[5941]: debug1: KEX done
Sep  4 14:30:18 somegitserver sshd[5941]: debug1: userauth-request for user root service ssh-connection method keyboard-interactive
Sep  4 14:30:50 somegitserver sshd[5944]: debug1: Enabling compatibility mode for protocol 2.0
Sep  4 14:30:51 somegitserver sshd[5941]: debug1: do_cleanup
Sep  4 14:30:51 somegitserver sshd[5945]: debug1: rexec start in 5 out 5 newsock 5 pipe 10 sock 11
Sep  4 14:30:51 somegitserver sshd[5944]: debug1: Local version string SSH-2.0-OpenSSH_5.3
Sep  4 14:30:51 somegitserver sshd[5924]: debug1: do_cleanup
Sep  4 14:30:51 somegitserver sshd[5945]: debug1: inetd sockets after dupping: 3, 3
Sep  4 14:30:51 somegitserver sshd[5961]: debug1: permanently_set_uid: 74/74
Sep  4 14:30:51 somegitserver sshd[5924]: debug1: PAM: cleanup

我错过了什么?

ssh git
  • 1 个回答
  • 210 Views
Martin Hope
saleetzo
Asked: 2019-07-09 14:27:56 +0800 CST

寻找 。-type d -mtime +1 在 4 天内仅显示一个文件 [重复]

  • 0
这个问题在这里已经有了答案:
为什么 find -mtime +1 只返回超过 2 天的文件? (7 个回答)
3年前关闭。

我试图使用findwith-mtime +1来查找所有超过 24 小时的目录,但在完成此操作时遇到问题。我知道使用-mtime +n应该删除 n*24 小时的数据,但似乎只能找到一个要删除的文件夹 - 2019-07-05。为什么它不提供2019-07-06文件夹?

从find手册页:

-mtime n
File's  data  was  last modified n*24 hours ago.  

例子:

[user@craptaindee mysql] find /some/folder/mysql/ -type d -mtime +1
/some/folder/mysql/2019-07-05

[user@craptaindee mysql] find /some/folder/mysql/ -type d 
/some/folder/mysql/
/some/folder/mysql/2019-07-07
/some/folder/mysql/2019-07-06
/some/folder/mysql/2019-07-08
/some/folder/mysql/2019-07-05

这是文件夹上的时间戳

drwxr-xr-x 2 root root 4096 Jul  5 23:40 2019-07-05
drwxr-xr-x 2 root root 4096 Jul  6 23:40 2019-07-06
drwxr-xr-x 2 root root 4096 Jul  7 23:40 2019-07-07
drwxr-xr-x 2 root root 4096 Jul  8 13:00 2019-07-08

我能够使用完成我的任务,-mmin但我不明白为什么-mtime不按照我对man页面的期望行事。此外,-ctime也不显示其他目录。

编辑:我在 2019 年 7 月 8 日下午大约 13:00 左右在太平洋时区发表这篇文章之前完成了这些测试。

find date
  • 1 个回答
  • 1151 Views
Martin Hope
saleetzo
Asked: 2018-12-22 12:29:14 +0800 CST

在 bash 脚本中 AWKing SSH 命令会产生错误的输出

  • 0

我正在尝试从一个简单的 bash 脚本中提取信息,该脚本从 java 服务器中提取一些数据。当 SSH 变量在脚本中运行时,我似乎无法运行awk它来提取我需要的信息,除非我将它写入本地文件。这是我正在使用的内容:

check=$(ssh [email protected] "/usr/local/bin/check_mq.sh")
ret=$?
cat=/bin/cat
awk=/usr/bin/awk
output=$($cat $check | $awk -F= '{print $4}' | $awk '{print $1}')
echo $output

如果我只是echo $check在脚本中,它会像这样出现。

backchannel_queue messages=0 messages_ready=0 messages_unacknowledged=0 

但是,如果我$check用awk命令输入脚本,它会给我这个输出:

/bin/cat: backchannel_queue: No such file or directory
/bin/cat: 'messages=0': No such file or directory
/bin/cat: 'messages_ready=0': No such file or directory
/bin/cat: 'messages_unacknowledged=0': No such file or directory

我已经能够通过写入$output系统上的文本文件来完成这项工作:

 check_output="/home/user/Documents/scratch/check_output.txt"
 echo $check > $check_output
 output=$($cat $check_output | $awk -F= '{print $4}' | $awk '{print $1}')
 echo $output

我在想我在这里做错了什么,我不需要写入$output文件。或者,这是这里唯一的选择吗?一旦我在变量中有这个数字,我计划使用一些IF语句来查看它是否大于x等。

bash shell-script
  • 3 个回答
  • 168 Views
Martin Hope
saleetzo
Asked: 2018-05-11 15:10:11 +0800 CST

在检查开放 22 端口的 BASH 脚本中的 WHILE 循环中失败 IF

  • 1

我试图创建一个相当基本的脚本来运行服务器列表并检查 SSH 端口是否使用nc. 我尝试了几种不同的方法,但似乎无法让它发挥作用。我绝对不擅长任何类型的脚本。

这是脚本。我只是希望它nc在OPEN.

while read SERVER
do
OPEN=$(nc -z -v -w5 $SERVER 22)
echo $SERVER
   if [[ $OPEN = *"suc"* ]];
    then
        echo "Found SSH open on $SERVER"
    else
        echo "No open ports on $SERVER!"    
   fi
done < server.txt

服务器列表位于server.txt脚本末尾引用的文件中。

这是我得到的回应。我不

nc: connect to 10.10.51.55 port 22 (tcp) failed: No route to host
10.10.51.55
No open ports on test1!
Connection to 10.10.51.65 22 port [tcp/ssh] succeeded!
10.10.50.65
No open ports in test2!

无论如何,它都会给我“$SERVER 上没有开放端口”。

我感谢您的任何指导。

shell-script scripting
  • 3 个回答
  • 1035 Views
Martin Hope
saleetzo
Asked: 2018-03-28 11:43:34 +0800 CST

在 bash 脚本中使用 find 和 -exec rm 失败,但在提示符下工作

  • 1

这让我发疯,因为我知道这很容易,但我似乎找不到解决方案。啊!我只需要在我的脚本中添加一个 find 命令,以便在运行新备份之前删除旧文件。我宁愿通过变量来控制它,而不是输入确切的命令。如果我在其中键入命令而不是使用变量,该命令确实在脚本中起作用。

FIND="/usr/bin/find"
BUILD="~/"
FINDOPTS="-type f -mtime +3 -exec rm -rf {} \;"
echo $find $BUILD $FINDOPTS
## remove the 2 week old backup
echo "Removing old backups... "
$FIND $BUILD $FINDOPTS

如果我只是回显$FIND $BUILD $FINDOPTS命令,它会像我输入命令一样显示。唯一的区别是当我输入它时它会实际运行。

打字/usr/bin/find ~/ -type f -mtime +3 -exec rm -rf {} \;工作得很好。

我得到的错误是:

/usr/bin/find: missing argument to `-exec'

谁能帮忙解释这是为什么?谢谢!

bash shell-script
  • 2 个回答
  • 2339 Views
Martin Hope
saleetzo
Asked: 2018-03-21 12:08:54 +0800 CST

SSH 在登录时挂起,将“cvs 服务器”显示为用户的挂起进程

  • 1

当我尝试通过 ssh 登录 CentOS 机器时,输入密码后它挂起。我可以通过控制台进入系统,当我运行时,w我可以看到正在为尝试登录的用户运行“cvs 服务器”。

USER    TTY   FROM       LOGIN   IDLE   PCPU   WHAT
root    pts/1 systemname 11:37   1:14m  0.00s  cvs server

在安全日志中,它看起来像是一个有效的登录:

Accept password for root from 172.0.0.17 port 53270 ssh2
pam_unix(sshd:session): session opened for user root by (uid=0)

它看起来像一个正常的登录,但它永远不会真正给我提示。我试过重启 SSHD 服务,同样的问题。这是一个生产盒,所以我有点犹豫要重新启动它。我似乎在日志文件中找不到任何可疑的内容。

当我运行ssh -vvv并尝试连接时,它看起来也很好,但在“请求接受通道..”之后我从未收到登录消息。这是 -vvv 结尾的粘贴:

debug2: channel 1: request shell confirm 1
debug3: send packet: type 98
debug2: callback done
debug2: channel 1: open confirm rwindow 0 rmax 32768
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 1
debug2: PTY allocation request accepted on channel 1
debug2: channel 1: rcvd adjust 2097152
debug3: receive packet: type 99
debug2: channel_input_status_confirm: type 99 id 1
debug2: shell request accepted on channel 1

另外,我通过网络防火墙查看它是否正在丢弃数据包或其他东西,没有发生类似的事情。我也尝试过其他一些系统,同样的问题。

我以前从未见过这个,似乎无法找到关于这个确切问题的任何好信息。任何帮助,非常感谢!

编辑:我在这里只有一个 root 帐户,没有.bashrc或者.bash_profile我可以在 root 或其他任何地方找到。但是,我确实看到了 ancvs.sh和 a cvs.csh in /etc/profile.d/。我确实看到了一个 for 循环,/etc/profile/它正在寻找要/etc/profile.d/在启动时运行的脚本。

以下是这些脚本的内容:

简历文件

# change default from rsh to ssh for cvs command
export CVS_RSH=${CVS_RSH-ssh}

cvs.csh

# change default from rsh to ssh for cvs command
if ( "$?CVS_RSH" == 0 ) setenv CVS_RSH ssh

我想也许它正在寻找,cvs但server我在脚本目录中没有看到任何与服务器有关的东西。还有其他地方我应该寻找吗?我看过配置文件的所有正常地方,什么都没有。

谢谢!

ssh openssh
  • 1 个回答
  • 761 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