Комментарии 37
Даже ftpfs работает стабильнее.
А вообще для решения данной задачи есть же filezilla-project.org
Под windows для этой же цели можно использовать winscp и любой редактор по вкусу. Подойдет даже VS Code.
Visual code — наверное лучший редактор на платформах win и linux. И в нем есть отличный плагин sshfs, с помощью которого можно настроить кучу коннектов и удобно работать с различными рабочими пространствами. Если хочется все и в одном окне, то в нем же есть терминал
Надо будет посмотреть, а то встроенный Remote-SSH запускает на удалённом сервере nodejs со всеми плагинами.
В emacs это тоже есть прямо из коробки. Достаточно открыть "файл" вида /ssh:user@server:path/to/file. В случае разрыва связи ничего не поломается, при попытке сохранить емакс сам восстановит соединение.
Советую VcXsrv sourceforge.net/projects/vcxsrv
alias sshmount='echo youpassword | sshfs nikname@server:/ ~/ssh -o password_stdin'
и всех делов
Авторизация по ключам же, и не нужно вот этого всего хранения паролей в открытом виде в куче скриптов. См. ssh-copy-id
и ~/.ssh/authorized_keys
. Еще и серверы от брутфорса пароля будут защищены.
Один раз создал ssh-ключ, раскидал публичный ключ на все нужные серверы и никаких проблем с авторизацией. Если ssh-ключ с паролем, то его достаточно разблокировать единожды, многие DE имеют keyring и ключик надо разблокировать только при первом использовании.
.*history
. Лучше уж либо через переменную скармливать, а ещё лучше использовать sshpass
Или systemd automount.
In general, configuring mount points through /etc/fstab is the preferred approach.
поэтому я по-старинке делаю. И ещё у меня авто-отмонтирование не заработало — может быть, из-за этого?
У меня обычное монтирование, через /etc/fstab — при недоступности домашней файлопомойки загрузка по ощущениям длится на минуту-другую дольше — задержка возникает как раз при попытке монтирования недоступного.
/etc/systemd/system/yadisk.mount
[Unit]
Description=Yandex disk automounted drive
Documentation=man:systemd.mount(8)
[Mount]
Where=/home/oxyd/Clouds/yadisk
What=https://webdav.yandex.ru/
Type=davfs
Options=noauto,user
/etc/systemd/system/yadisk.automount
[Unit]
Description=Automount yandex disc when needed.
[Automount]
Where=/home/oxyd/Clouds/yadisk
## Time to automatic umount of inactivity
TimeoutIdleSec=300
[Install]
WantedBy=multi-user.target
/etc/systemd/system/boot.mount:
[Unit]
Description=Boot partition (running by automount) /dev/sda1
Documentation=man:systemd.mount(5)
After=blockdev@dev-disk-by\x2duuid-ea65285a\x2d01da\x2d451c\x2da93a\x2d4b155c46aeeb.target
[Mount]
Where=/boot
What=/dev/disk/by-uuid/ea65285a-01da-451c-a93a-4b155c46aeeb
Type=ext4
Options=rw,relatime
DirectoryMode=0755
И парный, к нему автомаунт.
/etc/systemd/system/boot.automount:
[Unit]
Description=Automount boot partition when needed.
[Automount]
Where=/boot
## Time to automatic umount of inactivity
TimeoutIdleSec=120
[Install]
WantedBy=multi-user.target
На сервер нужно скопировать файл, например в каталог /data
К серверу подключаемся под пользовательской учеткой с правами sudo, но у пользователя нет прав на запись в этот каталог.
Можно ли сразу через scp скопировать файл в конечный каталог без использования последующих команд вида
sudo mv ~/file /data/
или изменений разрешений в каталоге?
а уже потом копировать файл
Можно, если использовать rsync и ему передать параметр --rsync-path "sudo rsync". Тогда на удаленной стороне будет запущено от рута
Использовал sshfs для быстрого обновления исполняемых файлов на железе по make install
А ещё можно принимать и передавать файлы без дополнительных подключений, но для этого нужно, чтобы на клиенте работал Xorg (обычно так и есть). Сначала подключаемся к серверу с помощью ssh login@address -Y
, можно проверить, что проброс подключения к Xorg работает через echo $DISPLAY
, должно выдать что-то типа localhost:10.0
. Если не выдало, проверьте /etc/ssh/sshd_config
на сервере на предмет опций X11Forwarding yes
и X11DisplayOffset 10
.
Далее, ставим на этот сервер, к которому подключились, и себе на клиентскую машину пакет xclip
. Всё, теперь можно выполнять xclip-copyfile /path/to/file1 /path/to/file2 ...
, после чего в локальном уже терминале делать xclip-pastefile
, файлы передадутся. Это работает, разумеется, в обе стороны. Никаких монтирований и прочего, всё по одному и тому же подключению. Использую этот способ уже очень давно, всё устраивает.
Это все конечно хорошо, но как по мне ничего лучше mRemoteNg (к сожалению только на windows), в качестве обертки над cli утилитами доступа по различных протоколам не придумали. Очень хочу, чтобы его портировали под линукс...
В mc (midnight commander) открываешь правую или левую панель — и там выбираешь Shell-соединение. В качестве адреса — то же, что пишешь при коннекте по ssh (у меня обычно в ~/.ssh/config прописаны алиасы, чтоб одним словом переходить на любой рабочий сервер, если нужно с промежуточными джампами и авторизациями). Всё! Можно копировать туда/сюда; можно просматривать и редактировать файлы. И да, именно Shell (а не sftp). Работа последнего подразумевает, что на удалённом хосте есть служба sftp, а shell этого не нужно, достаточно просто возможности залогиниться.
vim scp://root@remote.host.com//etc/ssh/sshd_config
им же, вимом можно и навигировать по удаленной файловой системе
Плюс sshfs в том, что он поднимается достаточно просто и имеет минимальнып настройки.
На этом плюсы заканчиваются.
Для обновления пары-тройки файлов или локального монтирования содержимого докера — вполне удобно.
Проблемы начинаются, когда нужно прочитать/обновить каталоги от 5к файлов или со сложной древовидной структурой или залить от сотни мелких файлов.
Или частые конкурентные чтения файлов из монтированного каталога.
Здесь fuse существенно проигрывает по скорости тому же nfs и даже самбе.
"или за NAT-маршрутизатором, то есть, не имея постоянного IP-адреса.". — тема не раскрыта. Обычно сервер на работе может иметь доступ к интернету и нет белого или даже динамического ip. Также домашний компьютер максимум может иметь динамический ip, а скорее как и рабочий сервер имеет только доступ в инет. В таком сценарии только тимвьювер или гуглремоутдесктоп
Кунг-фу стиля Linux: удобная работа с файлами по SSH