Misalkan saya memiliki sistem jarak jauh bernama "remotesystem", dan akun pengguna "foouser" pada sistem itu.
Saya tahu bahwa pada sistem lokal saya, saya dapat membuat pasangan kunci SSH sebagai "foouser" pengguna lokal, meletakkan kunci publik di file "/home/foouser/.ssh/authorized_keys" on "remotesystem". Ketika saya SSH sebagai "foouser" dari sistem lokal saya ke "sistem remote", SSH menggunakan pasangan kunci untuk mengotentikasi saya.
Tetapi bagaimana jika nama pengguna lokal saya tidak sama dengan nama pengguna pada sistem jarak jauh? Artinya, bagaimana jika saya ingin SSH sebagai "pengguna" pengguna lokal untuk "sistem remote"? Jelas, saya perlu membuat pasangan kunci untuk "baruser" dan menambahkan kunci publik ke "/ home / fouser / .ssh/authorized_keys". Lalu, saya harus bisa "ssh foouser @ remotesystem" saat login sebagai "baruser" secara lokal, dan SSH akan menggunakan pasangan kunci untuk mengotentikasi, kan?
Saya bertanya karena saya berusaha agar otentikasi kunci berfungsi dalam skenario ini, tanpa hasil. Saya tidak yakin apakah ini karena ketidakcocokan nama pengguna, atau masalah konfigurasi dengan server SSH pada sistem jarak jauh.
sumber
Jawaban:
Ya, Anda bisa melakukan ini, seperti yang Anda gambarkan.
sumber
Ini agak samping, tapi .....
Jika Anda selalu menggunakan nama pengguna yang sama untuk server jarak jauh, Anda mungkin juga merasa perlu menambahkan host ke konfigurasi ssh Anda:
Dengan begitu Anda tidak perlu mengingat untuk menentukan nama pengguna saat masuk, dan Anda mengesampingkannya saat memiliki masalah dengan kunci di masa depan.
sumber
Nama pengguna lokal Anda tidak terlalu penting (selain dari kunci pribadi harus berada di dalam direktori home pengguna lokal Anda). Cukup salin kunci ke bagian pengguna jarak jauh
authorized_keys
dan itu akan berfungsi.sumber
Dengan masalah terkait ssh, hal pertama yang harus dilakukan adalah meningkatkan verbositas klien:
Jika ini gagal memberi Anda wawasan tentang apa yang salah, Anda perlu mengubah level log di server dan me-restart daemon.
Anda harus menemukan output debug di /var/log/auth.log (atau di mana ssh dikonfigurasi untuk masuk). Setelah Anda menemukan masalah, ingatlah untuk mengembalikannya ke cara Anda menemukannya.
sumber
Izin pada direktori .ssh pada kedua mesin jauh lebih benar. Secara umum, itu berarti 700 pada direktori .ssh dan paling banyak 755 pada direktori home. Selain 600 pada semua file di direktori .ssh.
Jika pengguna pada sistem remote adalah root, pastikan root itu ssh. (PermitRootLogin di sshd_config) dan kunci publik itu (PubkeyAuthentication) dan jika perlu RSA (RSAAuthentication) diaktifkan.
sumber
Jika Anda memiliki SE Linux diaktifkan, Anda juga perlu melakukan hal berikut.
Tambahkan label SELinux
authorized_keys
sehingga dapat diakses oleh sshd.sumber
Kedengarannya Anda melakukan sesuatu dengan benar, tetapi pastikan izinnya benar pada otor_keys. Mereka harus diatur ke 600.
sumber