Bagaimana cara mengaktifkan akses jarak jauh untuk akun lain di Mac dari jarak jauh melalui SSH?

23

Saya memiliki hak admin di komputer Mac jarak jauh. Saya dapat mengaksesnya melalui SSH. Mac memiliki akun pengguna lain, yang tidak memiliki akses jarak jauh. Bagaimana saya bisa jarak jauh (via SSH) mengaktifkan akses jarak jauh untuk akun lain?

Andrei
sumber

Jawaban:

19

Akses SSH oleh pengguna dikendalikan oleh salinan lokal Layanan Direktori. (Terkontrol menggunakan dscl)

Lari pertama dscl . list /Groups | grep 'access_ssh'. Jika nilai yang dikembalikan mengatakan com.apple.access_ssh-disabledmaka semua pengguna memiliki akses SSH. Jika tidak, maka kita perlu memberikan akses kepada pengguna.

Untuk menambahkan pengguna yang perlu Anda jalankan:

sudo dscl . append /Groups/com.apple.access_ssh user USERNAME

(ganti USERNAME dengan nama pengguna singkat dari pengguna) serta:

sudo dscl . append /Groups/com.apple.access_ssh groupmembers `dscl . read /Users/USERNAME GeneratedUID | cut -d " " -f 2`

(ganti USERNAME dengan nama pengguna pendek juga)

(Bit terakhir adalah terima kasih kepada Reed Stoner di lists.apple.com )

Untuk menambah / mengaktifkan Manajemen Jarak Jauh hanya untuk pengguna tertentu (Tambahkan tanda VNC dari jawaban ghoppe jika Anda menginginkan VNC):

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -users short,usernames,seperated,by,commas -access -on -restart -agent -privs -all -allowAccessFor -specifiedUsers

Cari tahu lebih lanjut dengan menjalankan sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h

Chealion
sumber
1
@Andrei: Tambahkan flag-pengguna setelah -konfigurasi dengan daftar pengguna. Saya telah menambahkannya ke jawaban saya.
Chealion
4
Tampaknya struktur access_ssh telah berubah seiring waktu. 'Pengguna' kunci dalam perintah dscl pertama sekarang harus menjadi GroupMembership. Perintah dscl kedua yang menambahkan UID ke anggota grup masih valid.
Erik
2
Erik benar - @Chealion, bisakah Anda memperbarui jawaban Anda dengan mengubah perintah kedscl . append /Groups/com.apple.access_ssh GroupMembership <username>
rfay
2
Saya di 10.11.5 dan perintah tidak mengeluh, tetapi pengguna masih tidak bisa ssh. EDIT: mencoba ini dan berhasil: support.apple.com/kb/PH18726
Jayen
1
Sementara jawaban ini mungkin masih berfungsi, jawaban @ teppic menyediakan metode yang lebih benar menggunakan alat khusus untuk mengedit grup dseditgroup.
Endareth
12

Berdasarkan jawaban Chealion, saya datang dengan ini untuk memungkinkan SEMUA pengguna ssh in:

dscl . change /Groups/com.apple.access_ssh RecordName com.apple.access_ssh com.apple.access_ssh-disabled
Marmaduke
sumber
5

Aktifkan Remote Desktop via baris perintah:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw mypasswd -restart -agent -privs -all

Matikan berbagi layar:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off

EDIT

Oke, saya mungkin salah mengerti pertanyaan Anda. Dengan "Akses Jarak Jauh" Saya kira Anda bermaksud desktop jarak jauh, tapi sekarang saya melihat Anda hanya ingin mengaktifkan akses ssh untuk akun lain, kan?

Jawaban saya membuat Anda setengah jalan di sana. Setelah mengaktifkan Remote Desktop seperti yang ditunjukkan, kemudian hubungkan dengan remote Mac untuk mengubah akses ssh pengguna melalui System Prefs.

Untuk menghubungkan ke Mac jarak jauh, buka Pencari dan pilih di Connect to Server…bawah menu Go. ketik Alamat Server untuk komputer Anda:

vnc://x.x.x.x

Di mana xxxx adalah alamat IP komputer jarak jauh atau URI. Karena Anda terhubung dengan ssh, saya kira Anda sudah tahu ini.

Sekarang Anda dapat menggunakan Remote Desktop untuk menavigasi ke System Prefs> Akun dan klik kotak untuk memungkinkan akun lain untuk masuk ke komputer ...

ghoppe
sumber
Apakah saya perlu menginstal Apple Remote Desktop pada remote Mac? Apa yang harus saya lakukan setelah perintah pertama?
Andrei
1
Remote Desktop sudah diinstal dalam Sistem. Saya akan mengedit jawaban saya untuk instruksi Remote Desktop. Ups. Saya mungkin salah paham pertanyaan Anda ...
ghoppe
Lagi pula, apa yang harus saya lakukan setelah perintah pertama, dengan asumsi bahwa saya menggunakan Mac lain untuk mengakses yang jauh?
Andrei
2
Mengedit jawaban saya. Mungkin ada cara untuk mengaktifkan akses ssh melalui baris perintah sehingga Anda tidak harus melakukannya melalui Remote Desktop, tetapi metode ini juga bisa digunakan.
ghoppe
Perintah pertama melakukan sesuatu yang mencurigakan - itu mengubah akun lain, tidak hanya saya. Bisakah itu dimodifikasi sedemikian rupa sehingga akun lain tidak terpengaruh?
Andrei
5

sshakses diberikan kepada anggota com.apple.access_sshgrup. Ini adalah grup yang sedang Anda edit ketika Anda membuat modifikasi akses ke layanan Login Jauh melalui panel Preferensi Berbagi .

Meskipun dscldapat digunakan untuk mengedit keanggotaan grup (seperti yang dijelaskan dalam jawaban lain), dseditgroupadalah cara yang lebih bersih untuk memodifikasi com.apple.access_sshkeanggotaan grup dari baris perintah.

untuk menambahkan pengguna:

sudo dseditgroup -o edit -t user -a USERNAME com.apple.access_ssh

untuk menghapus pengguna:

sudo dseditgroup -o edit -t user -d USERNAME com.apple.access_ssh
hangat
sumber