Выполнять команды после входа в систему через ssh - PullRequest
3 голосов
/ 27 февраля 2012

Я работаю с множеством удаленных машин через ssh. Мне нужно иметь общий .profile (или псевдоним для ssh или чего-либо еще) для использования со всеми сессиями ssh, потому что изменение его на каждой машине (в которую я никогда не должен повторно входить) это действительно пустая трата времени .

Есть ли возможность?

Я прочитал, что могу установить «PermitUserEnvironment», чтобы я мог установить свое собственное «VAR = VALUE», но как насчет пользовательских сценариев? Например, я хотел бы выполнить что-то вроде "set -o vi" ...

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

Правильный ответ здесь - иметь копию вашего .profile или .bashrc или чего-либо еще на каждой машине.

Просто напишите небольшой скрипт оболочки и скопируйте такой файл в каждую из рассматриваемых коробок.Три строки, такие как

for i in list_of_machines
do
   scp .profile $i:
done

, сделают это за вас.

Вы можете получить список машин из файла, используя оболочку $ (), такую ​​как $ (имя файла cat) илисгенерируйте его программно, если он действительно используется.

Еще лучше, если это виртуальные хосты или какое-то другое облако машин, которые генерируются автоматически, добавьте .profile в учетную запись при создании машины.

0 голосов
/ 01 апреля 2013

Если вы используете PuTTY в качестве SSH-клиента, вы можете использовать «Опции, управляющие SSH-соединениями» в меню Connection-> SSH. Введите команду в поле «Удаленная команда». Сохраните настройку в качестве настроек по умолчанию, и она будет предварительно установлена ​​для всех новых сеансов.

...