Как делают меня sftp к серверу, если имя пользователя содержит символ

Пакеты называют как этот, где существует (или был), потребность упростить переход между двумя основными версиями пакета, и время должно было сделать, так, как ожидают, будет длинен. Во время переходного периода и новые и старые версии сохранены доступными с пониманием, что в некоторое будущее время более старое (s) будет прекращено.

Иногда переходный период происходит во время системного выпуска, который Вы в настоящее время используете. Для некоторых пакетов это происходит достаточно часто, что можно ожидать видеть переходные версии пакета в каждом новом системном выпуске. Инструменты разработки программного обеспечения часто попадают в эту категорию, начиная с обновления до новых инструментов в том же расписании, поскольку системные выпуски не могут быть практичными. Зависимость моей компании от конкретных версий GCC, Autoconf и Perl могла бы быть на 5-летнем цикле, в то время как моя ОС могла бы быть на 3-летнем цикле обновления. Это поэтому помогает мне принять новые Ose, если это включает мои более старые версии некоторых пакетов в дополнение к тому, что было текущим в то время, когда новая ОС разрабатывалась.

Другие времена, эти существенные изменения версии произошли давно, в прошлом и теперь все находятся на текущей версии. Дело обстоит так с Apache, например. 1.3 к 2,0 изменениям были намного большим соглашением с точки зрения совместимости, чем любой из 2.x изменения версии, поэтому после того как все были прочь 1.3, больше не было потребности продолжать предлагать несколько версий Apache в данной версии ОС. Но, после того как у Вас есть все использующие apache2 пакет, нет очень хорошего аргумента для переименования его назад только к apache. Это вызвало бы ненужную стычку обновления. Кроме того, где была воспринятая потребность в прошлом для обеспечения двух параллельных версий временно, потребность, вероятно, повторится в будущем.

Эта практика именования пакета обычно происходит только с библиотеками или важными базовыми пакетами. Для большего количества периферийных пакетов Вы, как ожидают, просто обновите до того, что является текущим в данный момент.

Библиотеки чаще всего рассматривают этот путь, чем приложения, потому что по их характеру другие пакеты зависят от них. Чем более популярна библиотека, тем более невозможно потребовать, что любой пакет в зависимости от него быть восстановленным и повторно связанным против него просто так, чтобы библиотека могла быть неродной обновлена до новой основной версии без этого переходного периода.

Часто, когда приложение рассматривают этот путь, это - потому что это содержит элемент библиотеки. Например, Apache не является просто веб-сервером, он также предоставляет разработке API для плагинов. (mod_foo и такой.), Если у кого-то есть старое mod_something связанный против плагина Apache 1.3 ABI и не обновил его для использования более новых 2,0 API, удобно, если ОС продолжает предлагать старый Apache 1.3, пока у всех сменных создателей нет шанса обновить их плагины.

25
04.07.2018, 10:17
3 ответа

Передайте имя пользователя через -o User опция, или через эквивалент User директива в клиентском конфигурационном файле (~/.ssh/config).

sftp -o Port:8777 -o User=user@example.com example.com

Это относится ssh, scp и sshfs также. Используя конфигурационный файл вместо -o опции имеют преимущество также работы с инструментами тот вызов ssh и не позволяйте Вам легко передать параметры командной строки если вообще.

33
27.01.2020, 19:40
  • 1
    Это имя пользователя не имеет ssh доступа, просто sftp. –  SpaceDog 21.10.2013, 19:48
  • 2
    @DigitalRobot s/ssh/sftp/ –  ladaghini 21.10.2013, 19:54
  • 3
    @DigitalRobot Это работает на обоих ssh и sftpscp также). –  Gilles 'SO- stop being evil' 21.10.2013, 19:59
  • 4
    Продолжить. Что должно мы делать, если passwd также содержат или '/' –  Shicheng Guo 09.02.2017, 04:11
  • 5
    @ShichengGuo??? Нет никакой проблемы с @ или / в пароле. Вы просто вводите их. SSH даже не позволяет никакому способу передать пароль параметру командной строки или в конфигурационном файле. –  Gilles 'SO- stop being evil' 09.02.2017, 12:27

Я выяснил, в чем проблема:

Я не указал символ конечной линии\n в конце моего сообщения ядра. Если вы оставите это, это будет так, как описано выше. Причина в том, что сообщения ядра скорее рассматриваются как записи, которые распечатываются только по завершении. Дополнительные сведения см. в статье о проблемах печати

-121--108588-

В Fedora 20 нужный каталог находится в одной из (возможно, нескольких) папок /var/tmp/systemd-private- $ {FOO} . Я еще не смог проверить, что на системе RHEL 7 или CentOS 7, но я сильно подозреваю, что это будет в той же области /var/tmp/systemd-private- $ {FOO} .

-121--67966-
sftp -o Port:8777 'user@domain.com'@domain.com

Это также сработает, хотя его действительно довольно плохая форма для них, чтобы предоставить пользователям этот тип имени.

6
27.01.2020, 19:40

Замена@(«commercial at» )на+(«знак плюса )» может быть приемлемой на некоторых SFTP-серверах:

sftp -oPort:8777 user+example.com@example.com
0
27.01.2020, 19:40

Теги

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