Выполненные ssh входят в команду, не изменяя удаленный .bashrc

Ядро Linux с тех пор 3.3 содержит поддержку сокрытия процессов другим пользователям.

Это сделано hidepid= и gid= смонтируйте опции для/proc, как описано в соответствующей фиксации и Documentation/filesystems/proc.txt.

Debian, Хрипящий также, включает эту функцию.

5
13.11.2012, 23:50
3 ответа
ssh -t user@host bash -o emacs -i
4
27.01.2020, 20:36
  • 1
    Это не работает, к сожалению. –  user490123 13.11.2012, 20:27
  • 2
    Поскольку существует команда в .bashrc это переопределяет его? Добавить --norc, или --rcfile yourfile.rc вместо этого. новые строки –  Jim Paris 13.11.2012, 21:19
  • 3
    Как я сказал в своем исходном сообщении существует set -o vi в каждом сервере .bashrc. Я сделал, как Вы предположили, вставив --norc сразу после bash в Вашем выше команды. Параметр был ясно применен, так как представленная подсказка удара казалась отличающейся, однако emacs привязки клавиш все еще не были включены. –  user490123 14.11.2012, 15:12
  • 4
    Если Вы имеете set -o vi в Ваших файлах профиля также (или они получают .bashrc), Вам, возможно, понадобилось бы: ssh -t user@host bash --norc --noprofile -o emacs -i –  Jim Paris 14.11.2012, 17:53
  • 5
    Спасибо за еще одно предложение Jim. К сожалению, этот не работал также! Я думаю, что это не может быть возможно, конечно, печально попробовать столько подходов без успеха. –  user490123 14.11.2012, 17:58

Запустите удар с --rcfile опция и указывает другой bashrc. Например, запишите названный файл ~/.bashrc-emacs это содержит

. ~/.bashrc
set -o emacs

и выполненный

ssh -t user@host bash --rcfile=.bashrc-emacs

Можно использовать --norc пропускать чтение /etc/bash.bashrc и ~/.bashrc в целом. Bash находится в emacs режиме по умолчанию.

Если Вы действительно хотите считать удаленное .bashrc и Вы не хотите писать в любой файл на сервере, я думаю, ожидают, Ваш лучший выбор.

2
27.01.2020, 20:36
  • 1
    Или даже что-то как grep -v 'set -o vi' /etc/bash.bashrc | ( exec bash -i <&0 ) мог бы работать. –  mikeserv 30.03.2014, 17:08
[118278] Я понимаю, что вы упомянули не редактировать .bashrc. Однако, я надеюсь, что это может помочь кому-нибудь еще. Я искал хороший ответ на схожую проблему в течение многих лет. Я люблю использовать vi, но не хочу менять значение по умолчанию для всех остальных.[12201]Редактируйте /etc/ssh/ssh_config в вашей локальной конфигурации и добавьте следующую строку:[12202]Вы можете использовать любую переменную окружения, но EDITOR кажется хорошим выбором. В моем случае EDITOR установлен в vim.[12203]В удаленной системе отредактируйте /etc/ssh/sshd_config и добавьте следующую строку:[12204]Редактируйте .bashrc или .bash_profile и добавьте следующее:[12205]Для случая использования в этом вопросе замените vi на emacs. Замечание: Возможно, вам понадобится перезапустить sshd в целевой системе.[118289].
2
27.01.2020, 20:36

Теги

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