SSH - Як включити "-t команду" у файл ~ / .ssh / config


13

Я використовую ~/.ssh/configфайл, щоб я міг легко вводити, ssh myserverі він надасть правильне ім’я користувача, порт, ім'я хоста, файл посвідчення тощо.

Однак для багатьох серверів перше, що я роблю, це ввійти, su -щоб увійти як root. Я можу зробити це все в одній команді в командному рядку наступним чином: ssh myserver -t su -. Чи можу я додати до свого ~/.ssh/configфайлу щось, що зробить це для мене? Я хочу вміти, ssh myserver-rootі це зробить те саме, що і ssh myserver -t su -?

Я знаю про PermitRootLoginце, це вимкнено для цього сервера, і я неохоче включаю це. Я набагато скоріше побачу, чи є спосіб зробити це за допомогою ssh на стороні клієнта.

Відповіді:


10

Думаю, я підходив би до цього з іншого напрямку - використовуйте 'command =' у записі відкритого ключа у вашому файлі ~ / .ssh / санкціонованих ключів на віддаленому сервері, щоб запустити вашу команду "su -".

Тоді просто використовуйте / посилайтеся на приватний ключ у вашому файлі ~ / .ssh / config (опція IdentityFile) для кожного хоста / псевдоніма ("myserver-root"), який ви хочете працювати таким чином.

Параметри, доступні в санкціонованих_контролерах (5), задокументовані в sshd (8).


Так, це саме те, що я хочу. :) Я маю повний контроль над файлом ~ / .ssh / avtor_key на сервері і не маю жодних проблем зі зміною цього.
Рорі


3

Чому б не додати сценарій до dir на своєму шляху (або псевдонім для нього), який називається rssh, як:

#!/bin/bash
ssh $1 -t 'su -'

Тоді це просто:

rssh myServer

1

Я не знайшов жодного параметра конфігурації для розподілу псевдо-tty у джерелі OpenSSH.

Але я можу дати пораду щодо PermitRootLogin. Встановіть її так:

PermitRootLogin without-password

І дозволяти тільки кореневі логіни з ssh-ключами.


1

Як щодо того, щоб додати щось подібне до ~ / .bashrc на стороні сервера?

if [ "$SSH_TTY" != "" ]; then su -; logout; fi

1

Найкраща відповідь, ймовірно, поєднання rkthkr і jrg . Використовуйте, PermitRootLoginщоб вимагати ключ, а потім лише кладіть ключ із commandключовим словом у файл дозволених_корінь root.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.