Bagaimana cara membuat ssh login sebagai pengguna yang tepat?

8

Saya menggunakan ssh di berbagai mesin, terutama linux. Akun di mesin ini bervariasi dalam skema penamaan: jika nama saya First Last, maka saya punya akun: first, flast, last_f, lastf, dan kadang-kadang saya harus login sebagai root. Untuk setiap mesin yang saya gunakan, saya ingin klien openssh mengetahui akun mana yang harus digunakan ketika saya tidak menentukan pada baris perintah.

Jadi pertanyaannya adalah: Bagaimana cara membuat ssh serverDo The Right Thing ketika nama pengguna tidak ditentukan?

bstpierre
sumber

Jawaban:

18

Anda dapat membuat configfile di .sshdirektori home Anda , yang dapat menentukan pengguna default, file identitas dll dan menugaskannya ke alias yang dapat Anda gunakan untuk menghubungkan.

Misalnya, Anda bisa memasukkan ini ke ~/.ssh/configfile:

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

Kemudian Anda bisa mengetik ssh exampleatau ssh example2pada baris perintah untuk menghubungkan.

Jadi Anda dapat mengatur satu untuk setiap mesin yang ingin Anda sambungkan, dengan pengguna yang relevan. Kemudian gunakan saja alias untuk terhubung tanpa harus menentukan pengguna. Anda juga dapat menggunakan pola untuk mencocokkan beberapa host.

Ada informasi lebih lanjut, dan detail dari apa yang dapat Anda tentukan dalam file konfigurasi di halaman manual ssh_config .

Adams kaya
sumber
3
Tentu saja, Anda dapat menentukan sebanyak yang Anda inginkan dalam file .config yang sama. Saya memiliki lebih dari 20 di tambang saya tanpa masalah. Saya hanya menyisakan ruang di antara masing-masing Host yang berbeda, yang mungkin tidak diperlukan, tetapi membuatnya lebih mudah dibaca.
Rich Adams
1
Bukankah seharusnya itu configfile? Tanpa titik di awal?
danadam
1
@rich mencoba membuat Anda menampilkan situs lain dalam contoh Anda; harap Anda tidak keberatan saya pergi ke depan dan melemparkannya.
quack quixote
4
Mengindentifikasi apa pun kecuali garis yang mengandung "Host foo" sangat membantu penyebab pemeliharaan.
innaM
1
@CristianCiupitu: Mengingat ini adalah pertanyaan Linux, saya jarang menyebut halaman manual OpenBSD sebagai yang resmi. Ada beberapa opsi dalam ssh Linux (mis., GSSAPIKeyExchange ) yang tidak tersedia di versi BSD.
Dennis
1

Menurut jawaban Rich Adam, saya menemukan untuk Putty tempat menyimpan pengaturannya.

Semua disimpan dalam pohon registri, Anda akan menemukannya di bawah HKEY_CURRENT_USER\Software\SimonTatham(Simon Tatham adalah pengembang Putty).
Di sana Anda dapat melihat bagaimana suatu host didefinisikan.

guerda
sumber
1

Jika Anda ingin mengubahnya untuk SETIAP situs:

Edit Anda ~/.ssh/configuntuk memiliki ini:

Host *
    User buck
hopeseekr
sumber