загрузка и dowload файлы с сервера, не давая пароль

Название сессии хранится в переменной #S, для доступа к нему в можно сделать

tmux display-message -p "#S"

Если Вы хотите использовать его в .tmux.conf, это просто #S. Обратите внимание что -p опция распечатает сообщение на stdout, иначе сообщение отображено в строке состояния.

Если вышеупомянутую команду называют в сессии, она возвращает название сессии. Если это называют вне какой-либо сессии, это все еще возвращает название последней все еще рабочей сессии. Я не мог найти, что команда проверила, если Вы в сессии или нет, таким образом, я должен был придумать эту работу вокруг:

tmux list-sessions | sed -n '/(attached)/s/:.*//p'

tmux list-sessions шоу все сессии, если Вы присоединяетесь, это показывает (attached) в конце. С мы подавляем весь вывод (опция -n) кроме того, где мы находим ключевое слово (attached), в этой строке мы срезаем everyhing после a :, который оставляет нас с названием сессии. Это работает на меня внутри и снаружи сессии, в противоположность tmux display-message -p "#S".

Конечно, это работает, только если существует нет : и нет (attached) от имени сессии.

Как прокомментировано Chris Johnsen, способ проверить, ли Вы в сессии, состоит в том, чтобы видеть, установлена ли ее переменная среды:

[[ -n "${TMUX+set}" ]] && tmux display-message -p "#S"

2
17.12.2014, 09:43
1 ответ
121 --- 196197-

Первый шаг - генерировать пару двухуровневых клавиш на машине, которую вы копируете из:

ssh-keygen

, вы можете пойти по умолчанию, и убедитесь, что вы понимаете «Не предоставляем пароль для использования. Это может занять немного времени.

Второй шаг, после завершения ключевого поколения, состоит в том, чтобы скопировать открытый ключ к серверу, используя:

ssh-copy-id username@server

с соответствующим именем пользователя и Server . Для этого вам нужен пароль для имени пользователя . If Имя пользователя не имеет пароля, вы можете скопировать файл с открытым ключом через корневую учетную запись, но гораздо проще временно создать пароль для учетной записи и использования Копия-идентификатор

Третий шаг: Проверьте, работает ли установленный открытый ключ с использованием: SSH username @ server или SCP uveryfile username @ Server: / var / tmp

Четвертый шаг: добавить Работа CRON ( CRONTAB -E ) На клиентском компьютере:

15 23 * * * scp username@server:/path/on/server/downloadfile /local/destination
17 23 * * * scp /local/source/somefile username@server:/path/on/server/uploaddirectory

, которые будут скопировать файл / PATH / ON / SERVER / DOWNEDFILE каждый день в 21:15 Спустя и через две минуты начинает загрузку / Local / Source / quotefile

, которые следует учитывать:

  • В зависимости от безопасности доступа к клиентской машине (где вы копируете) и где незащищенный закрытый ключ Расположен, вы должны рассмотреть возможность изменения имени пользователя учетной записи , так что это позволяет только SCP , а не SSH .
  • Если вы копируете один и тот же файл, и содержимое в основном изменение (например, добавлено, а не полное перезапись), используя rsync , используя вышеуказанную пару клавиши SSH), является более эффективной.
4
27.01.2020, 22:00

Теги

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