Saya membuat VM Compute Engine (Ubuntu 18.04), dan ketika saya login ke dalamnya menggunakan tombol SSH dalam daftar instance VM saya login sebagai pengguna username
.
Setelah beberapa saat, saya menyadari bahwa saya perlu dapat menggunakan klien SSH lain juga. Sesuai https://cloud.google.com/compute/docs/ineses/connecting-advanced Saya mengaktifkan Login OS dengan menambahkan pasangan nilai-kunci dalam metadata, di mana kunci adalah enable-oslogin
dan nilainya TRUE
.
Saya kemudian mencoba menambahkan kunci SSH yang ada:
gcloud compute os-login ssh-keys add --key-file path/to/key.pub --ttl 0
yang berhasil kecuali satu masalah utama: itu telah menambahkan kunci untuk pengguna username_gmail_com
dan hanya akan memungkinkan saya untuk ssh ke VM saya sebagai pengguna itu:
ssh username_gmail_com@myinstance
Dan itu juga telah menciptakan pengguna itu di VM saya. Dari antarmuka web, saya masuk ke VM dengan pengguna baru itu juga ( /home/username_gmail_com
). Tentu saja, saya masih dapat mengakses data pengguna asli ( /home/username
). Ketika saya menonaktifkan OS Login, antarmuka web masuk saya username
lagi dan SSH dari klien lain dinonaktifkan.
- Mengapa nama pengguna berbeda saat mengaktifkan Login OS?
- Bisakah saya mengubah nama pengguna dengan Login OS diaktifkan?
Sunting
Ada tambahan pada dokumen yang menjelaskan dengan tepat pertanyaan ini. Periksa di sini: https://cloud.google.com/compute/docs/oslogin/ dan pada halaman yang saya sebutkan di atas sepanjang jalan di bagian bawah di bawah "Perilaku login yang diharapkan".
sumber
Sesuai dokumen github ini , paket Login OS (lingkungan tamu dalam instance) mengambil kunci SSH dari profil Login OS pengguna, dan membuatnya tersedia untuk sshd. Namun demikian, ia harus meminta server metadata untuk profilnya, dan memeriksa otorisasi akun pengguna (alamat email).
Untuk menjelaskan lebih lanjut, Jika menggunakan alat pihak ketiga untuk SSH, cara tradisional untuk menambahkan pengguna ke instance adalah dengan membuat dan menambahkan kunci publik untuk setiap pengguna ke metadata instance atau proyek, dan sesuai dengan dokumen ini .
Namun, Login OS dirancang untuk menggunakan Peran Mesin IAM untuk mengelola kunci SSH. Itu berarti bahwa setiap pengguna yang perlu diberikan akses SSH ke instance harus memiliki akun Google (email), akun tersebut harus menjadi anggota proyek, dan memiliki peran IAM Mesin Hitung yang tepat (misalnya
compute.oslogin
).Jadi, ketika proses yang dijelaskan dalam tautan github di atas terjadi untuk pertama kalinya, itu menciptakan pengguna yang mewarisi format akun (email) seperti
user_lastname_gmail_com
. Untuk informasi lebih lanjut tentang Login OS Anda dapat memverifikasi dokumen inisumber
Saya mengajukan pertanyaan ini di sini dan mendapat jawaban yang jelas.
Mengapa nama pengguna berbeda antara Login OS diaktifkan dan dinonaktifkan?
Dan bisakah saya memengaruhi nama pengguna saat Login OS diaktifkan?
Jadi tidak, saya tidak bisa, karena saya seorang individu dan bukan organisasi.
Pada akhirnya, saya memecahkan ketidaknyamanan ini yang disebabkan oleh saya dengan hanya membuat ulang server dengan OS Login diaktifkan - yang tentu saja merupakan salah satu kekuatan dari Compute Engine.
sumber
Saya memiliki hak admin penuh untuk proyek saya dan saya memiliki masalah yang sama ketika saya mengatur "enable-oslogin" menjadi TRUE untuk mempercepat koneksi ke VM saya.
Setelah beberapa pencarian, saya menemukan halaman ini: https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys#locatesshkeys dan mengklik tombol "Buka halaman Metadata". Kemudian saya mengklik "Metadata"> "Edit". Saya mengatur nilai kunci "aktifkan-oslogin" ke FALSE.
Saya bisa masuk SSH (butuh sedikit lebih lama dari yang diharapkan) sebagai pengguna asli saya. Saya harap ini membantu!
sumber