как знать на моей машине Linux, если соединение ЧЕРЕЗ sftp активно

Обратите внимание, что, хотя вам и нужно удалить запятые из входных данных перед добавлением значений, но [11704]awk[11705] с удовольствием распечатает результаты с тысячами разделителей или без них. В качестве примера, если вы используете следующий код: посмотрите на переменную [11706]fmt[11707], определенную в коде. [12144]Ваш ввод :[12145]Awk Code :[12146]Результат :[12147]Если вы хотите попробовать это в системе [11708]Solaris/SunOS[11709], измените [11710]awk[11711] в начале этого скрипта на [11712]/usr/xpg4/bin/awk[11713] ,[11714]/usr/xpg6/bin/awk[11715] , или [11716]nawk[11717] . [12148] Надеюсь, это будет полезно.
    .
2
01.12.2014, 23:02
1 ответ

Конечно, вы можете использовать lsof, чтобы посмотреть, какая активность в настоящее время происходит на сервере. Вот как будут выглядеть результаты при простаивающем соединении с SFTP-сервером.

$ sudo /usr/sbin/lsof -p $(pgrep sftp)
COMMAND     PID USER   FD   TYPE     DEVICE SIZE/OFF      NODE NAME
sftp-serv 30268  sam  cwd    DIR       0,19    20480  28312529 /home/sam (mulder:/export/raid1/home/sam)
sftp-serv 30268  sam  rtd    DIR      253,0     4096         2 /
sftp-serv 30268  sam  txt    REG      253,0    51496  48727430 /usr/libexec/openssh/sftp-server
sftp-serv 30268  sam  mem    REG      253,0   109740  46368404 /lib/libnsl-2.5.so
sftp-serv 30268  sam  mem    REG      253,0   613716  48382913 /usr/lib/libkrb5.so.3.3
sftp-serv 30268  sam  mem    REG      253,0  1205988  48387619 /usr/lib/libnss3.so
sftp-serv 30268  sam  mem    REG      253,0    33968  48377969 /usr/lib/libkrb5support.so.0.1
sftp-serv 30268  sam  mem    REG      253,0    15556  48387614 /usr/lib/libplc4.so
sftp-serv 30268  sam  mem    REG      253,0    11524  48387615 /usr/lib/libplds4.so
sftp-serv 30268  sam  mem    REG      253,0   190712  48383685 /usr/lib/libgssapi_krb5.so.2.2
sftp-serv 30268  sam  mem    REG      253,0  1706232  46368382 /lib/libc-2.5.so
sftp-serv 30268  sam  mem    REG      253,0    50848  46367899 /lib/libnss_files-2.5.so
sftp-serv 30268  sam  mem    REG      253,0    46624  46367905 /lib/libnss_nis-2.5.so
sftp-serv 30268  sam  mem    REG      253,0  1298276  46368392 /lib/libcrypto.so.0.9.8e
sftp-serv 30268  sam  mem    REG      253,0   232156  48387613 /usr/lib/libnspr4.so
sftp-serv 30268  sam  mem    REG      253,0    45432  46368394 /lib/libcrypt-2.5.so
sftp-serv 30268  sam  mem    REG      253,0   121324  48387616 /usr/lib/libnssutil3.so
sftp-serv 30268  sam  mem    REG      253,0    75088  46368385 /lib/libz.so.1.2.3
sftp-serv 30268  sam  mem    REG      253,0   137944  46368395 /lib/libpthread-2.5.so
sftp-serv 30268  sam  mem    REG      253,0    15308  46368401 /lib/libutil-2.5.so
sftp-serv 30268  sam  mem    REG      253,0    20668  46368384 /lib/libdl-2.5.so
sftp-serv 30268  sam  mem    REG      253,0   130860  46368381 /lib/ld-2.5.so
sftp-serv 30268  sam  mem    REG      253,0   157336  48382170 /usr/lib/libk5crypto.so.3.1
sftp-serv 30268  sam  mem    REG      253,0    93508  46368390 /lib/libselinux.so.1
sftp-serv 30268  sam  mem    REG      253,0   233296  46368389 /lib/libsepol.so.1
sftp-serv 30268  sam  mem    REG      253,0     7812  46368391 /lib/libcom_err.so.2.1
sftp-serv 30268  sam  mem    REG      253,0    84904  46368388 /lib/libresolv-2.5.so
sftp-serv 30268  sam  mem    REG      253,0     7880  46368387 /lib/libkeyutils-1.2.so
sftp-serv 30268  sam    0u  unix 0xcb014040      0t0 104100868 socket
sftp-serv 30268  sam    1u  unix 0xcb014040      0t0 104100868 socket
sftp-serv 30268  sam    2u  unix 0xd8077580      0t0 104100870 socket
sftp-serv 30268  sam    3u  unix 0xcb014040      0t0 104100868 socket
sftp-serv 30268  sam    4u  unix 0xcb014040      0t0 104100868 socket

Теперь, когда некоторые файлы копируются с сервера:

$ sudo /usr/sbin/lsof -p $(pgrep sftp)
COMMAND     PID USER   FD   TYPE     DEVICE SIZE/OFF      NODE NAME
sftp-serv 30268  sam  cwd    DIR       0,19    20480  28312529 /home/sam (mulder:/export/raid1/home/sam)
...
sftp-serv 30268  sam    5r   REG       0,19  3955027   9257067 /home/sam/which witch is wich-dDSr2oxZeAM.mp3 (mulder:/export/raid1/home/sam)

Строка, показывающая, что я копирую файл , которым является wich-dDSr2oxZeAM.mp3, находится в нижней части выходных данных.

Когда я использую SFTP для ставлю файл, он отображается так:

sftp-serv 30268  sam    5r   REG       0,19  1933312   9257073 /home/sam/bob.mp3 (mulder:/export/raid1/home/sam)

Видите разницу?

Я тоже, поэтому этот метод может только сказать, доступен ли в данный момент файл через put или get, но не может отличить их друг от друга. Однако он скажет, является ли соединение "активным" в том смысле, есть ли файл, который читается/записывается с/на SFTP-сервер.

Наблюдение за демоном

Я обычно использую этот метод, когда хочу наблюдать за SFTP-сервером.

$ sudo watch "/usr/sbin/lsof -p $(pgrep sftp)"

Он будет выполнять команду lsof каждые 2 секунды, "опрашивая" его на предмет любой активности.

Многочисленные соединения

Если у вас более 1 пользователя, вам может понадобиться изменить $(pgrep sftp) и выбрать конкретный PID, если есть несколько sftp-серверов. Также необходимо определить, какой пользователь обращается к файлам по SFTP. Для этого, однако, можно посмотреть на колонку "USER" в выводе lsof.

2
27.01.2020, 22:13

Теги

Похожие вопросы