RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


Боковая панель


Навигация

Линкшэринг

ALARM!

Добавить новую страницу

You are not allowed to add pages
linux:bash:terminal_tnt_ssh


Трюки в консоли: SSH

EscapeChar для зависших сессий

  * [[https://man.openbsd.org/ssh#~.|~.]]Disconnect.
  * [[https://man.openbsd.org/ssh#~_Z|~^Z]] Background ssh.
  * [[https://man.openbsd.org/ssh#~_|~#]] List forwarded connections.
  * [[https://man.openbsd.org/ssh#~&|~&]] Background ssh at logout when waiting for forwarded connection / X11 sessions to terminate.

https://man.openbsd.org/ssh#ESCAPE_CHARACTERS

Опция "EscapeChar" определяет сессионный знак перехода в приостановленное состояние.

FIXME

ssh сервер на нескольких портах

В файл /etc/ssh/sshd_config добавляем

Port 1337

После чего в netstat будет видно, что SSH доступен одновременно по 22 и 1337.

# netstat -plunt | grep ssh 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      11017/sshd          
tcp        0      0 0.0.0.0:1337            0.0.0.0:*               LISTEN      11017/sshd          
tcp6       0      0 :::22                   :::*                    LISTEN      11017/sshd          
tcp6       0      0 :::1337                 :::*                    LISTEN      11017/sshd    

Можно настроить SFTP на отдельном порту (SSH будет на 22)

Subsystem sftp internal-sftp

Match LocalPort 1337
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp

Также можно запустить несколько SSH сервисов каждый со своим конфигом FIXME

Делаем симлинки

ln -s /usr/sbin/sshd /usr/sbin/sshd_sftp
ln -s /etc/pam.d/sshd /etc/pam.d/sshd_sftp

Копируем конфиг и устанавливаем Port 1337

cp /etc/ssh/sshd_config /etc/ssh/sshd_config_sftp

Копируем systemd сервис

cp /etc/systemd/system/multi-user.target.wants/sshd.service /etc/systemd/system/sshd_sftp.service

и меняем

EnvironmentFile=/etc/sysconfig/sshd_sftp
ExecStart=/usr/sbin/sshd_sftp -D $OPTIONS

Создаем файл /etc/sysconfig/sshd_sftp

SSH_USE_STRONG_RNG=0
OPTIONS="-f /etc/ssh/sshd_config_sftp"

Запускаем новый systemd сервис

systemctl daemon-reload
systemctl enable sshd_sftp.service
systemctl start sshd_sftp.service

Проверяем в netstat

# netstat -plunt | grep ssh 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      11023/sshd          
tcp        0      0 0.0.0.0:1337            0.0.0.0:*               LISTEN      11089/sshd          
tcp6       0      0 :::22                   :::*                    LISTEN      11023/sshd          
tcp6       0      0 :::1337                 :::*                    LISTEN      11089/sshd   

Вероятно надо еще проверить работу syslog, остается в todo.

Разрешить доступ root только с одного IP

Запрещаем доступ по SSH пользователю root через опцию PermitRootLogin no

Добавляем в файл /etc/ssh/sshd_config

Match Host my_hostname
     PermitRootLogin yes

или так

Match Address 192.168.10.25
     PermitRootLogin yes

Разрешить доступ root только по открытому ключу

Добавляем в файл /etc/ssh/sshd_config

Match Address 192.168.10.25
     PermitRootLogin without-password
     PubkeyAuthentication yes

Опция without-password, запрещает вход по паролю для root. PasswordAuthentication no указывать НЕ нужно.

Еще пример. Вход по паролю запрещен глобально. Нужно разрешить доступ пользователю john с нескольких адресов

PermitRootLogin no
PermitEmptyPasswords no
PasswordAuthentication no

Match User john Address 192.168.1.0/24,192.168.10.25
    PasswordAuthentication yes

rsync error: remote command not found (code 127)

При переносе архива на удаленный сервер с помощью rsync

# rsync -avzhe ssh backup.tar.gz root@192.168.100.55:/home/user/

появляется ошибка

bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(605) [sender=3.0.9]

При использовании транспортного протокола ssh при копирования файлов rsync должен быть установлен с двух сторон.

Узнать внутренний и внешний IP из консоли (OSX)

Для удобства добавил алиасы в ~/.bash_profile

alias intip="ipconfig getifaddr en0" 
alias extip="curl ipecho.net/plain ; echo"

Про интерфейсы lo0, en0, fw0, sft0, gif0, awdl0, p2p0

POSSIBLE BREAK-IN ATTEMPT

Как закрыть пользовательскую SSH сессию (pts)

[~]# w
 09:16:04 up 23 days, 23:26,  2 users,  load average: 0.16, 0.17, 0.23
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
secure   pts/0    192.168.1.187    17Nov17 15days  5:10   0.05s sshd: secure [priv]
secure   pts/1    192.168.13.7    09:15    0.00s  0.01s  0.00s w
[~]# pkill -HUP -t pts/0

В консоли бнопня и кракозябры

Если к примеру прочитать бинарный файл через cat, more или less or, то в ответ мы получим бнопню и консоль перестанет работать.

Нажимаем CTRL+C, вводим reset, жмём ввод.

Нашёл крутой вариант

Делаем алиас в .bashrc

alias fix='reset; stty sane; tput rs1; clear; echo -e "\033c"'

Как всё сломается, то делаем CTRL+C несколько раз и потом вводим fix

Email уведомление о входе в систему

if [ "$SSH_TTY" ] ; then
        DATE=`date`
        IP=`echo $SSH_CLIENT
        USER=`id -un`
        echo -e "User: $USER\nIP: $IP\nDate: $DATE" | mail -s ""Alert: Remote Access Granted to `id -un`" email@host.net"
fi

server refused to start a shell

Надо больше памяти

Лог

Click to display ⇲

Click to hide ⇱

[2761174.913903] systemd[1]: apt-daily.service: Failed to fork: Cannot allocate memory
[2761174.958250] systemd[1]: apt-daily.service: Failed to run 'start' task: Cannot allocate memory
...
[2762122.429047] systemd[1]: phpsessionclean.service: Failed to fork: Cannot allocate memory
[2762122.484064] systemd[1]: phpsessionclean.service: Failed to run 'start' task: Cannot allocate memory
[2762122.537514] systemd[1]: Failed to start Clean php session files.
[2762122.572386] systemd[1]: phpsessionclean.service: Unit entered failed state.
[2762122.612237] systemd[1]: phpsessionclean.service: Failed with result 'resources'.
...
[2772386.221701] systemd[1]: Created slice User Slice of bob.
[2772386.257589] systemd[1]: user@1001.service: Failed to fork: Cannot allocate memory
[2772386.299359] systemd[1]: user@1001.service: Failed to run 'start' task: Cannot allocate memory
[2772386.343392] systemd[1]: Failed to start User Manager for UID 1001.
[2772386.371912] systemd[1]: user@1001.service: Unit entered failed state.
[2772386.402837] systemd[1]: user@1001.service: Failed with result 'resources'.
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies

Discussion

Enter your comment. Wiki syntax is allowed:
 
linux/bash/terminal_tnt_ssh.txt · Последнее изменение: 2020/04/15 17:28 — dx