Наличие метра прогресса в файле журнала не звучит очень полезным. Как насчет выполнения scp
с его стандартным выводом, подключенным к терминалу? Это действительно имеет оборотную сторону, что, если сценарий является прерванной серединой передачи, не будет ничего в журнале для указания на прогресс (но это - очень незначительная оборотная сторона как размер частичной передачи).
scp remotehost:/path/to/file /local/file >/dev/tty
Если Вы хотите сохранить вывод прогресса от scp
, можно использовать script
.
script -q /dev/stdout -c 'scp remotehost:/path/to/file /local/file' | tee scp.log
С другой стороны, можно вставить pv
в конвейере для получения признака прогресса. Это не столь хорошо как scp
потому что pv
только знает число переданных байтов, не общее количество.
ssh remotehost 'cat /path/to/file' | pv -bpt >/local/file
Править: жаль об ответе на мой собственный вопрос! (Другие два ответа являются большими, но не полностью отвечают на вопрос. Но все еще очень полезный!)
Сменный Модуль аутентификации OTPassword реализует Идеальную Бумажную систему Пароля Steve Gibson в PAM для Linux. После того как Вы устанавливаете это, у Вас будет аутентификация PPP. Но что относительно ssh обхода ключей? FAQ на их сайте отвечает на этот вопрос:
Если у Вас есть доверяемая машина, от которой Вы часто входите в свое использование удаленной системы ssh ключи. Генерируйте их с
ssh-keygen
, и скопируйте свой новый ~/.ssh/id_rsa.pub в ~/.ssh/authorized_keys на удаленном компьютере. Когда SSH аутентифицирует пользователя с ключами, он опускает PAM.
Удобно автоматический!
Править: Аутентификатор Google и безопасность Duo также походят на хорошие решения. Они не обеспечивают одноразовые пароли на бумаге; вместо этого они используют Ваш смартфон для генерации постоянно изменения ключ TOTP. (Безопасность Duo также работает с dumbphones путем отправки им текстового сообщения с несколькими одноразовыми паролями. Однако защита Duo не локальна; необходимо полагаться на их серверы...),
Аутентификация с открытым ключом с OTP как нейтрализация (это - то, что Вы имели в виду, правильно?):
Это может быть просто, но существует также несколько ловушек для предотвращения:
Большинство Ваших изменений конфигурации должно произойти в sshd_config файле, обычно располагаемом в/etc/ssh/sshd_config
Вы уже совместно использовали ключи, работающие, таким образом, я пропущу это здесь:
Строка, на которую Вы хотите обратить внимание:
PasswordAuthentication yes
Протесты, о которых Вы хотите знать, находятся в ограничении, кто может войти в систему и как. Они должны ВСЕ существовать для ограничения доступа к максимально малочисленной группе пользователей:
PermitEmptyPasswords no
AllowUsers sshuser@192.168.*
AllowGroups sshusers
Существует много опций, которые можно установить, здесь рассматривают страницу справочника для полного набора доступных опций.
Я рекомендовал бы создать группу только для ssh полномочий.
Следующий флаг, также настоятельно рекомендуйте:
PermitRootLogin no
Это заставит демона запрашивать пароль, если ключ не будет sent/reconigized. Можно добавить препятствие OTPW, если Вам нравится, но Вы находитесь теоретически в зашифрованной среде, таким образом, это не должно строго быть необходимо. Смотрение на информацию OTPW, Вы связали код, кажется, было в последний раз обновлено 2003, которым я был бы, ненавидят для использования его, не получая некоторую экспертную оценку. Безопасные методы кодирования и действительно целая среда изменились много с тех пор.
2-FA основана на двухшаговой технологии аутентификации от Google. Для установки библиотеки и программы:
А пока установите на смартфон приложение Google Authenticator. После установки, из терминала запустите программу:
Это даст вам штрих-код, секрет и кучу скретч-кодов. БЕРЕГИТЕ ИХ!!! Если у вас нет доступа к вашему телефону или по каким-либо другим причинам вам необходим экстренный доступ, эти коды будут вашим единственным выходом. Не недооценивайте, насколько важен этот резервный механизм. В конце концов, он может тебя подставить. Настройте модуль PAM на использование Google Authenticator:
Чтобы отключить функцию ввода пароля, поставьте # перед строкой @include Common-auth. Также в нижней части файла добавьте:
Чтобы включить аутентификацию по OTP:
Найдите строку с этой фразой: [1175704]ChallengeResponseAuthentication[1175705] и измените его с "no" на "yes".
Установите [1175706]PermitRootLogin no[1175707] и [1175708]PasswordAuthentication no[1175709].
- В конце файла используйте параметр "match", чтобы определить, какой(ие) механизм(ы) аутентификации должен(ы) использоваться для доступа к машине с этого порта, например:
Параметр "keyboard-interactive:pam" заставляет SSH-демон перейти к демону модуля PAM (сконфигурирован в разделе [1175710]/etc/pam. d/sshd[1175711]) и аутентифицироваться, как там указано (отсюда и необходимость отключить вход в PAM-модуль с помощью хэша из строки [1175712]common-auth[1175713]). Не забудьте перезапустить SSH-демон, чтобы изменения вступили в силу:
Затем, находясь на недоверенной машине, просто вставьте SSH в порт 60000 (или что бы вы ни установили) и используйте OTP для аутентификации.[1175351].