Доступ по SSH в определенный каталог удаленной системы
$ ssh user@remote-system
$ cd <some-directory>
Вы можете объединить эти команды и упростить задачу с помощью одной команды.
Посмотрите на следующий пример.
$ ssh -t itsecforu@192.168.225.22 'cd /home/itsecforu ; bash'
Приведенная выше команда подключит SSH к удаленной системе (192.168.225.22) и сразу перейдет в каталог с именем /home/itsecforu/, оставив себя в приглашении.
Здесь флаг -t используется для принудительного выделения псевдо-терминала, что необходимо, или для интерактивной оболочки.
Вы также можете использовать эту команду:
$ ssh -t itsecforu@192.168.225.22 'cd /home/itsecforu ; exec bash'
или
$ ssh -t itsecforu@192.168.225.22 'cd /home/itsecforu && exec bash -l'
Здесь флаг -l устанавливает bash в качестве оболочки для входа.
В приведенном выше примере я использовал bash в последнем аргументе.
Это оболочка по умолчанию в моей удаленной системе.
Если вы не знаете тип оболочки в удаленной системе, используйте следующую команду:
$ ssh -t itsecforu@192.168.225.22 'cd /home/sk/itsecforu && exec $SHELL'
$ ssh -t sk@192.168.225.22 'cd /home/itsecforu && uname -a && exec $SHELL'
Кроме того, вы можете добавить команду(ы), которую вы хотели выполнить после подключения к SSH-серверу, в файле .bash_profile удаленной системы.
Отредактируйте файл .bash_profile:
$ nano ~/.bash_profile
Добавьте команду (ы) одну за другой. В моем случае я добавляю следующую строку:
cd /home/itsecforu >& /dev/null
Сохраните и закройте файл. Наконец, выполните следующую команду, чтобы обновить изменения.
$ source ~/.bash_profile
Обратите внимание, что вы должны добавить эту строку в файл .bash_profile или .bashrc удаленной системы, а не в вашей локальной системе.
С этого момента каждый раз, когда вы входите в систему (по SSH или напрямую), команда cd будет выполняться, и вы автоматически попадете в каталог «/home/itsecforu».