Я предпочитаю выключать ZRAM, так как я уже использую раздел диска для swap. Я нахожусь на 13.10 на одной машине и 12.0.4 на другой.
Я бы предложил еще одно возможное изменение /etc/init/zram-config.conf, чтобы полностью остановить zram-свопы. Предполагая, что вы используете стандартный уровень выполнения по умолчанию 2, измените строку:
start on runlevel [2345]
на
start on runlevel [345]
Я использовал тот же трюк на /etc/init/tty1.conf, чтобы выйти сообщений консоли для view.r.
SSH не был разработан для такого доступа по требованию. Однако, если доступ к оболочке (или передача файлов) является единственной вещью, о которой вам нужно беспокоиться, вы должны ограничить возможности SSH и добавить скрипт, который не запускает оболочку, если вы не разрешаете.
Для части ограничения SSH я принял участие в создании Как создать ограниченного пользователя SSH для перенаправления портов ?. Измените /etc/ssh/sshd_config и добавьте:
Match user your-username
AllowAgentForwarding no
ForceCommand ~/bin/ssh-confirm
Создайте исполняемый файл ~/bin/ssh-confirm (режим 755) и создайте скрипт / программу на выбранном вами языке, который заставит вас подтвердить, прежде чем отбрасывать оболочку SSH , например:
#!/bin/bash
confirmfile="$HOME/allow-ssh-for-pid-$$"
if [ -f "$confirmfile" ]; then
echo "Old confirmation file found for the SSH session, exiting!"
exit 1
fi
# wait for a grant for 30 seconds before giving up
for ((i=0; i<30; i++)); do
if [ -f "$confirmfile" ]; then
rm "$confirmfile"
exec "$SHELL"
fi
sleep 1
done
echo "SSH access timed out."
exit 1
Для этого вам потребуется создать файл «allow-ssh-for-pid - $$», где $$ является pid скрипта, выполненного из SSH. Вы можете использовать ps, pidof и т. Д. Для определения PID. Конечно, это может быть более сложным, например, предупреждать вас через notify, но я предполагаю, что люди дадут вам кольцо, если они попытаются получить к вам доступ.
Кроме того, я полагаю, вы доверяете людям вы предоставляете SSH-доступ. Если нет, создайте отдельного пользователя (без sudo прав, конечно;)) и сохраните ssh-confirm в таком месте, как /usr/local/bin, и сохраните токены доступа в другом месте.
SSH попытки входа (и выходы) регистрируются на /var/log/auth.log. Запустите w, чтобы получить список зарегистрированных пользователей (обратите внимание: вы получите несколько записей для терминалов, которые вы открываете на своей машине, обратите внимание на столбец FROM).
SSH не был предназначен для такого доступа по требованию. Однако, если доступ к оболочке (или передача файлов) является единственной вещью, о которой вам нужно беспокоиться, вы должны ограничить возможности SSH и добавить скрипт, который не запускает оболочку, если вы не позволите.
Для части ограничения SSH я взял часть Как создать ограниченного пользователя SSH для перенаправления портов? . Измените /etc/ssh/sshd_config
и добавьте:
Match user your-username
AllowAgentForwarding no
ForceCommand ~/bin/ssh-confirm
Создайте исполняемый файл ~/bin/ssh-confirm
(режим 755) и создайте скрипт / программу на выбранном вами языке, который заставит вас подтвердить, прежде чем отбрасывать оболочку SSH , например:
#!/bin/bash
confirmfile="$HOME/allow-ssh-for-pid-$$"
if [ -f "$confirmfile" ]; then
echo "Old confirmation file found for the SSH session, exiting!"
exit 1
fi
# wait for a grant for 30 seconds before giving up
for ((i=0; i<30; i++)); do
if [ -f "$confirmfile" ]; then
rm "$confirmfile"
exec "$SHELL"
fi
sleep 1
done
echo "SSH access timed out."
exit 1
Для этого вам потребуется создать файл «allow-ssh-for-pid - $$», где $$
- это pid скрипта, выполненного из SSH. Вы можете использовать ps
, pidof
и т. Д. Для определения PID. Конечно, это может быть более сложным, как оповещение о вас через notify
, но я буду считать, что люди дадут вам кольцо, если они попытаются получить к вам доступ.
Кроме того, я полагаю, вы доверяете людям вы предоставляете SSH-доступ. Если нет, создайте отдельного пользователя (без sudo
прав, конечно;)) и сохраните ssh-confirm
в месте, подобном /usr/local/bin
, и сохраните токены доступа в другом месте.
SSH попытки входа (и выходы) регистрируются на /var/log/auth.log
. Запустите w
, чтобы получить список зарегистрированных пользователей (обратите внимание: вы получите несколько записей для терминалов, которые вы открываете на своей машине, обратите внимание на столбец FROM
).
SSH не был предназначен для такого доступа по требованию. Однако, если доступ к оболочке (или передача файлов) является единственной вещью, о которой вам нужно беспокоиться, вы должны ограничить возможности SSH и добавить скрипт, который не запускает оболочку, если вы не позволите.
Для части ограничения SSH я взял часть Как создать ограниченного пользователя SSH для перенаправления портов? . Измените /etc/ssh/sshd_config
и добавьте:
Match user your-username
AllowAgentForwarding no
ForceCommand ~/bin/ssh-confirm
Создайте исполняемый файл ~/bin/ssh-confirm
(режим 755) и создайте скрипт / программу на выбранном вами языке, который заставит вас подтвердить, прежде чем отбрасывать оболочку SSH , например:
#!/bin/bash
confirmfile="$HOME/allow-ssh-for-pid-$$"
if [ -f "$confirmfile" ]; then
echo "Old confirmation file found for the SSH session, exiting!"
exit 1
fi
# wait for a grant for 30 seconds before giving up
for ((i=0; i<30; i++)); do
if [ -f "$confirmfile" ]; then
rm "$confirmfile"
exec "$SHELL"
fi
sleep 1
done
echo "SSH access timed out."
exit 1
Для этого вам потребуется создать файл «allow-ssh-for-pid - $$», где $$
- это pid скрипта, выполненного из SSH. Вы можете использовать ps
, pidof
и т. Д. Для определения PID. Конечно, это может быть более сложным, как оповещение о вас через notify
, но я буду считать, что люди дадут вам кольцо, если они попытаются получить к вам доступ.
Кроме того, я полагаю, вы доверяете людям вы предоставляете SSH-доступ. Если нет, создайте отдельного пользователя (без sudo
прав, конечно;)) и сохраните ssh-confirm
в месте, подобном /usr/local/bin
, и сохраните токены доступа в другом месте.
SSH попытки входа (и выходы) регистрируются на /var/log/auth.log
. Запустите w
, чтобы получить список зарегистрированных пользователей (обратите внимание: вы получите несколько записей для терминалов, которые вы открываете на своей машине, обратите внимание на столбец FROM
).
SSH не был предназначен для такого доступа по требованию. Однако, если доступ к оболочке (или передача файлов) является единственной вещью, о которой вам нужно беспокоиться, вы должны ограничить возможности SSH и добавить скрипт, который не запускает оболочку, если вы не позволите.
Для части ограничения SSH я взял часть Как создать ограниченного пользователя SSH для перенаправления портов? . Измените /etc/ssh/sshd_config
и добавьте:
Match user your-username
AllowAgentForwarding no
ForceCommand ~/bin/ssh-confirm
Создайте исполняемый файл ~/bin/ssh-confirm
(режим 755) и создайте скрипт / программу на выбранном вами языке, который заставит вас подтвердить, прежде чем отбрасывать оболочку SSH , например:
#!/bin/bash
confirmfile="$HOME/allow-ssh-for-pid-$$"
if [ -f "$confirmfile" ]; then
echo "Old confirmation file found for the SSH session, exiting!"
exit 1
fi
# wait for a grant for 30 seconds before giving up
for ((i=0; i<30; i++)); do
if [ -f "$confirmfile" ]; then
rm "$confirmfile"
exec "$SHELL"
fi
sleep 1
done
echo "SSH access timed out."
exit 1
Для этого вам потребуется создать файл «allow-ssh-for-pid - $$», где $$
- это pid скрипта, выполненного из SSH. Вы можете использовать ps
, pidof
и т. Д. Для определения PID. Конечно, это может быть более сложным, как оповещение о вас через notify
, но я буду считать, что люди дадут вам кольцо, если они попытаются получить к вам доступ.
Кроме того, я полагаю, вы доверяете людям вы предоставляете SSH-доступ. Если нет, создайте отдельного пользователя (без sudo
прав, конечно;)) и сохраните ssh-confirm
в месте, подобном /usr/local/bin
, и сохраните токены доступа в другом месте.
SSH попытки входа (и выходы) регистрируются на /var/log/auth.log
. Запустите w
, чтобы получить список зарегистрированных пользователей (обратите внимание: вы получите несколько записей для терминалов, которые вы открываете на своей машине, обратите внимание на столбец FROM
).
SSH не был предназначен для такого доступа по требованию. Однако, если доступ к оболочке (или передача файлов) является единственной вещью, о которой вам нужно беспокоиться, вы должны ограничить возможности SSH и добавить скрипт, который не запускает оболочку, если вы не позволите.
Для части ограничения SSH я взял часть Как создать ограниченного пользователя SSH для перенаправления портов? . Измените /etc/ssh/sshd_config
и добавьте:
Match user your-username
AllowAgentForwarding no
ForceCommand ~/bin/ssh-confirm
Создайте исполняемый файл ~/bin/ssh-confirm
(режим 755) и создайте скрипт / программу на выбранном вами языке, который заставит вас подтвердить, прежде чем отбрасывать оболочку SSH , например:
#!/bin/bash
confirmfile="$HOME/allow-ssh-for-pid-$$"
if [ -f "$confirmfile" ]; then
echo "Old confirmation file found for the SSH session, exiting!"
exit 1
fi
# wait for a grant for 30 seconds before giving up
for ((i=0; i<30; i++)); do
if [ -f "$confirmfile" ]; then
rm "$confirmfile"
exec "$SHELL"
fi
sleep 1
done
echo "SSH access timed out."
exit 1
Для этого вам потребуется создать файл «allow-ssh-for-pid - $$», где $$
- это pid скрипта, выполненного из SSH. Вы можете использовать ps
, pidof
и т. Д. Для определения PID. Конечно, это может быть более сложным, как оповещение о вас через notify
, но я буду считать, что люди дадут вам кольцо, если они попытаются получить к вам доступ.
Кроме того, я полагаю, вы доверяете людям вы предоставляете SSH-доступ. Если нет, создайте отдельного пользователя (без sudo
прав, конечно;)) и сохраните ssh-confirm
в месте, подобном /usr/local/bin
, и сохраните токены доступа в другом месте.
SSH попытки входа (и выходы) регистрируются на /var/log/auth.log
. Запустите w
, чтобы получить список зарегистрированных пользователей (обратите внимание: вы получите несколько записей для терминалов, которые вы открываете на своей машине, обратите внимание на столбец FROM
).
/var/log/auth.log
Здесь вы можете просмотреть историю входа в систему. Я не уверен, что есть элегантное решение того, что вы думаете с контролем доступа, тем не менее, поскольку все, что я могу придумать, - это какая-то сумасшедшая схема, в которой вы используете rsync или что-то подобное, чтобы отменить и восстановить SSH-ключи по мере необходимости.
/var/log/auth.log
Здесь вы можете просмотреть историю входа в систему. Я не уверен, что есть элегантное решение того, что вы думаете с контролем доступа, тем не менее, поскольку все, что я могу придумать, - это какая-то сумасшедшая схема, в которой вы используете rsync или что-то подобное, чтобы отменить и восстановить SSH-ключи по мере необходимости.