Як зробити так, щоб користувач ssh увійшов як потрібний користувач?


8

Я використовую ssh на різних машинах, в основному на Linux. Облікові записи на цих машинах відрізняються за схемою імен: якщо мене звуть Перше Останнє, то у мене є облікові записи: спочатку, flast, last_f, lastf, а іноді мені потрібно увійти як root. Для кожної машини, яку я використовую, я хотів би, щоб відкритий клієнт знав, який обліковий запис використовувати, коли я не вказую в командному рядку.

Отже, питання полягає в тому, як я можу зробити ssh serverправильну річ, коли ім'я користувача не вказано?

Відповіді:


18

Ви можете створити configфайл у своєму домашньому .sshкаталозі, який може вказати користувача за замовчуванням, ідентифікаційний файл тощо та призначити його псевдонімом, який ви можете використовувати для підключення.

Наприклад, ви можете помістити це у ~/.ssh/configфайл:

Host example
    HostName example.com
    User first_last
    IdentityFile ~/.ssh/example_rsa
    Port 22
    RSAAuthentication yes
    PubkeyAuthentication yes

Host example2
    HostName example2.com
    User last_first
    # other parameters as needed

Потім ви можете просто ввести ssh exampleабо ssh example2в командному рядку підключитися.

Таким чином, ви можете встановити його для кожної машини, до якої потрібно підключитися, відповідному користувачеві. Тоді просто використовуйте псевдоніми для підключення, не вказуючи користувача. Ви також можете використовувати візерунок для узгодження кількох хостів.

Більше інформації та деталей того, що можна вказати у конфігураційному файлі на сторінці man ssh_config .


3
Абсолютно можна вказати стільки, скільки вам потрібно, в одному файлі .config. У мене понад 20 у моїх без проблем. Я просто залишаю простір між кожним окремим хостом, який, ймовірно, не потрібен, але робить його більш читабельним.
Багатий Адамс

1
Чи не має бути configфайл? Без крапки на початку?
danadam

1
@rich намагався змусити вас показати інший сайт у своєму прикладі; сподіваюся, ви не заперечуєте, що я йду вперед і кидаю його.
шарлатанний кіхот

4
Відступ у всьому, окрім рядків, що містять "Host foo", значно допомагає справі ремонту.
innaM

1
@CristianCiupitu: Зважаючи на питання Linux, я навряд чи називаю сторінку користувача OpenBSD офіційною. У ssh Linux є варіанти (наприклад, GSSAPIKeyExchange ), які недоступні у версії BSD.
Денніс

1

Відповідно до відповіді Річ Адама, я дізнався для PuTTY, де він зберігає його налаштування.

Все це зберігається в дереві реєстру, ви знайдете його під HKEY_CURRENT_USER\Software\SimonTatham(Simon Tatham - розробник PuTTY).
Там ви можете побачити, як визначається хост.


1

Якщо ви хочете змінити його для кожного сайту:

Відредагуйте свій, ~/.ssh/configщоб мати це:

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