В консоли:
1 2 |
sshfs user1@192.168.1.1:/home/user1 /mnt/user1 -o uid=500,gid=500 -o allow_other -o kernel_cache -o auto_cache -o reconnect -o compression=no -o cache_timeout=600 -o IdentityFile=/home/user/.ssh/id_rsa |
Если команда sshfs не находится, то ищем пакет с ней:
1 2 |
# dnf provides sshfs |
И устанавливаем его:
1 |
[root@localhost ~]# dnf install fuse-sshfs |
В /etc/fstab
1 2 |
sshfs#user1@192.168.1.1:/home/user1 /mnt/user1 fuse noauto,uid=500,gid=500,allow_other,allow_other,auto_cache,reconnect,compression=no,cache_timeout=600 0 0 |
Иногда хочется подключить удаленную файловую систему за шлюзом. Для этого нужно прокинуть удаленный порт SSH на локальный хост:
1 2 |
$ ssh -p 1234 -L 1222:10.0.0.10:22 -o ServerAliveInterval=60 -o ServerAliveCountMax=10 user@gate.company.ru |
Коннектимся на порт 1234 хоста gate.company.ru, чтобы пробросить 22 порт хоста 10.0.0.10 на локальный порт 1222. Но порт может быть закрыт фаерволлом, тогда открываем:
1 |
# firewall-cmd --zone=dmz --add-port=1222/tcp |
Теперь можем подключать удаленную файловую систему:
1 |
$ sshfs user@127.0.0.1:/home/user /mnt/work -o uid=1000,gid=1000 -o kernel_cache -o auto_cache -o reconnect -o compression=no -o cache_timeout=600 -o port=1222 |
Иногда меняется ключ, и по ssh не подключиться:
1 2 3 4 5 6 7 8 9 10 11 |
[root@localhost ~]# ssh user@remotehost.ru @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: POSSIBLE DNS SPOOFING DETECTED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ The ECDSA host key for remotehost.ru has changed, ... Add correct host key in /root/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /root/.ssh/known_hosts:13 ECDSA host key for remotehost.ru has changed and you have requested strict checking. Host key verification failed. |
Тогда можно просто удалить соответствующую remotehost.ru строку из /root/.ssh/known_hosts
Аутентификация по ключам
1 |
ssh-keygen |
Можно задать passphrase, тогда при каждом подключении ее нужно будет вводить. Передаем публичный ключ на удаленный сервер:
1 |
ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost |
Либо вручную копируем содержимое сгенерированного публичного ключа id_rsa.pub в файл ~/.ssh/authorized_keys на удаленном сервере. Если каталога ~/.ssh или файла authorized_keys нет, то создаем.
Ссылки: