Вход по SSH без ключа и пароля на локальном хосте невозможен, предполагается отношение PAM

Tmux 2.4+ с привязками режима копирования vi и xclip:

set-option -g mouse on
set-option -s set-clipboard off
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"

Для более старых версий tmux привязки режима копирования emacs (по умолчанию )или не -платформы X (, т. е. без xclip ), см. объяснение ниже.


Объяснение :Сначала нам нужно включить опцию мыши, чтобы tmux перехватывал мышь и позволял нам связывать события мыши:

set-option -g mouse on

Терминал Gnome -не поддерживает настройку буфера обмена с помощью escape-последовательностей xterm, поэтому мы должны убедиться, что опция set-clipboardотключена:

set-option -s set-clipboard off

Этот параметр может поддерживаться и включаться по умолчанию в iTerm2 (см. set-clipboardв руководстве по tmux ), где объясняется его поведение.

Затем мы можем привязать «клавишу» режима копирования MouseDragEnd1Pane, т. е. когда первая кнопка мыши отпускается после щелчка и перетаскивания в панели, к команде tmux, которая принимает текущий выбор режима копирования (, сделанный привязку по умолчанию дляMouseDrag1Pane)и передает ее команде оболочки. Эта команда tmux была copy-pipeдо tmux 2.4 и с была изменена на send-keys -X copy-pipe[-and-cancel]. Что касается команды оболочки, нам просто нужно что-то, что установит содержимое системного буфера обмена в то, что ему передано; xclip используется для этого в следующих командах. Некоторыми эквивалентными заменами для "xclip -selection clipboard -i"ниже на платформах, отличных от -X, являются"wl-copy"(Wayland ),"pbcopy"(macOS ),"clip.exe"(Windows, WSL )и"cat /dev/clipboard"(Cygwin, MinGW ).

Tmux 2.4+:

# For vi copy mode bindings
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"
# For emacs copy mode bindings
bind-key -T copy-mode MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -selection clipboard -i"

Tmux от 2.2 до 2.4:

# For vi copy mode bindings
bind-key -t vi-copy MouseDragEnd1Pane copy-pipe "xclip -selection clipboard -i"
# For emacs copy mode bindings
bind-key -t emacs-copy MouseDragEnd1Pane copy-pipe "xclip -selection clipboard -i"

До tmux 2.2:

Поддержка копирования после перетаскивания мышью изначально была добавлена ​​в Tmux 1.3 путем установки для новой опции mode-mouseзначения on.Tmux 2.1 изменил поддержку мыши на знакомые привязки клавиш мыши, но не имел привязок DragEnd, которые были введены в 2.2. Таким образом, до версии 2.2 я считаю, что единственным способом установки системного буфера обмена при перетаскивании мышью был встроенный -с использованием escape-последовательностей xterm (опция set-clipboard). Это означает, что необходимо обновить tmux как минимум до версии 2.2, чтобы получить поведение перетаскивания -и -копирования для терминалов, которые не поддерживают set-clipboard, таких как терминал GNOME.

3
23.03.2018, 14:01
1 ответ

В вашей конфигурации PAM (, которая зависит от дистрибутива ), убедитесь, что строка pam _unix.so для sshd имеет аргумент nullok , например.:

auth      required  pam_unix.so try_first_pass nullok

В противном случае pam _unix предотвратит это, ср. справочная страница pam _unix:

The default action of this module is to not permit the user access to a service if their official password is blank. The nullok argument overrides this default.

2
14.03.2020, 00:38

Теги

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