Aktifkan SSH pada Mac dalam mode pengguna tunggal

9

Saya memiliki iMac yang hanya dapat saya akses dalam mode pengguna tunggal, karena kerusakan perangkat keras yang serius. Saya menyambungkannya ke komputer lain dengan kabel Ethernet. Saya ingin login jarak jauh ke iMac melalui SSH. IMac menjalankan OS X 10.6.4.

Saya menemukan jawaban yang sama tetapi apa yang saya coba selalu gagal.

Saya mencoba systemsetup -setremotelogin ondan mengembalikan pesan kesalahan berikut:

systemsetup[63:903] setInetDServiceEnabled failed for ssh because authorizationRef is NULL!

Sambil launchctl load -w /System/Library/LaunchDaemons/ssh.plistmemberi:

DNSServiceRegister("ssh"): -65563
DNSServiceRegister("sftp-ssh"): -65563
bind(): Can't assign requested address
launch_msg(): Socket is not connected
launchctl: CFURLWriteDataAndPropertiesToResource(/var/db/launchd.db/com.apple.launchd/overrides.plist) failed: -10

Apa yang harus saya lakukan?

Ralphtor
sumber
Can't assign requested addressSepertinya saya tidak memiliki koneksi jaringan apa pun. Saya pikir dalam mode pengguna tunggal Anda harus menggunakan ifconfigatau ifupmengaktifkan jaringan.
Blacklight Shining
@ BlacklightShining terima kasih! Saya memiliki sedikit pengalaman dengan perintah-perintah ini, saya kira bahwa dengan Mac akan lebih tepat untuk digunakan networksetupatau ipconfig, bagaimanapun. Apakah Anda memiliki gagasan tentang perintah apa yang harus saya berikan agar komputer lain dapat terhubung ke iMac melalui kabel Ethernet tunggal? Atau, sebagai alternatif, untuk menghubungkan iMac ke jaringan wi-fi yang dilindungi dengan WPA2?
Ralphtor
Saya sendiri tidak yakin. Omong man $program_name-omong, Anda bisa mendapatkan halaman manual untuk hampir semua program . Saya akan memeriksanya dan melihat apakah saya dapat mencoba sesuatu untuk Anda coba ...
Blacklight Shining

Jawaban:

7

Sepertinya Anda perlu memuat beberapa daftar lagi:

launchctl load /System/Library/LaunchDaemons/com.apple.kextd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.notifyd.plist
launchctl load /System/Library/LaunchDaemons/com.apple.configd.plist
launchctl load /System/Library/LaunchDaemon/com.apple.DirectoryServices.plist

Kemudian lakukan apa yang Anda coba sebelumnya:

launchctl load -w /System/Library/LaunchDaemons/ssh.plist
systemsetup -setremotelogin on

Setelah itu, saya pikir Anda bisa mencolokkan kabel Ethernet ke kedua komputer untuk membuat jaringan ad-hoc. ifconfig en0 | grep inetpada mesin target Anda harus mendapatkan alamat IP-nya, dan kemudian Anda siap. :)

Blacklight Shining
sumber
Terima kasih atas saran Anda, perintah pertama baik. Sayangnya untuk perintah terakhir komputer menjawab dengan: DNSServiceRegister("ssh"): -65563, DNSServiceRegister("sftp-ssh"): -65563, dengan dua pesan-pesan ini diulang dua kali. Jadi saya tidak bisa terhubung dengan ssh. Samar-samar saya ingat telah mengubah port untuk koneksi ssh yang masuk, jadi itu mungkin salah saya, tapi saya akan sangat menghargai bantuan apa pun
Ralphtor
Saya harus mengklarifikasi: launchctl load -w /System/Library/LaunchDaemons/ssh.plistmemberi saya kesalahan yang saya sebutkan di komentar sebelumnya, sambil systemsetup -setremotelogin onterus memberisetInetDServiceEnabled failed for ssh because authorizationRef is NULL!
Ralphtor
Apakah Anda ingat bagaimana Anda mengubah port? Bisakah Anda mengubahnya kembali? Itu mungkin tidak melakukan apa-apa, tetapi patut dicoba ...
Blacklight Shining
Saya membaca file-file konfigurasi, sepertinya portnya diatur dengan benar ke 21. Mungkin ini bukan masalah karena saya mengikuti instruksi untuk Mac lain dan ssh memberikan kesalahan yang sama. Demi kejujuran Mac yang saya uji adalah Mac mini dengan Lion dan mengeluh bahwa com.apple.DirectoryServices.plisttidak ada lagi (seperti yang dihapus di Lion), tetapi itu seharusnya tidak menjadi masalah besar karena ssh memberi saya kesalahan yang sama persis seperti di iMac.
Ralphtor
2

Tiga solusi yang bisa Anda pertimbangkan. Pertama, coba mode disk target. Jika mode pengguna tunggal berfungsi, maka mode disk target juga akan berfungsi.

Setelah dimulai dalam mode disk target, hubungkan ke sistem lain yang Anda miliki (menggunakan firewire), dan beri tahu sistem kedua untuk mem-boot secara eksternal (tahan opsi saat boot). Setelah OS dalam sistem yang rusak melakukan boot menggunakan perangkat keras sistem lokal, buka System Preferences dan klik "Sharing" Pilih kotak centang di sebelah "Remote Login" untuk mengaktifkannya.

Matikan dan mulai ulang, dan Anda harus menjalankan dan menjalankan SSH.

Pilihan kedua adalah menghapus hard drive dari sistem yang rusak dan mem-boot dari eksternal (dalam kandang eksternal) atau menempatkannya di dalam sistem fungsional Anda dan boot dari sana.

Jika tidak satu pun dari mereka yang berfungsi, tetapi Anda menjalankan satu pengguna, pertimbangkan

cd /Library/Preferences
echo -n enabled > com.apple.ScreenSharing.launchd

Ini akan mengaktifkan berbagi layar, menggunakannya untuk mengakses Preferensi Sistem pada mesin jarak jauh, melakukan perubahan (nyalakan SSH) dan Anda fungsional.

Everett
sumber
0

Mengapa tidak meluncurkan sshd secara langsung? Setelah jaringan naik /usr/sbin/sshd -p 4212akan membuka server ssh pada port 4212.

cdelacroix
sumber
Terima kasih atas jawaban anda. Saya menjalankan perintah (karena penasaran saya ingin bertanya mengapa perlu menulis path lengkap /usr/sbin/). Jika saya menjalankan topiMac, saya melihat proses yang disebut sshd, jadi itu seharusnya berhasil. Namun ketika saya terhubung dengan komputer dengan kabel Ethernet, cari IP iMac dengan ifconfig, dan jalankan ssh 192.168.0.3 -p 4212di komputer lain katanyassh: connect to host 192.168.0.3 port 4212: Operation timed out
Ralphtor
Saya juga harus menyebutkan bahwa shutdown -h nowsekarang tidak berfungsi untuk mematikan iMac. Saya harus mematikannya secara manual
Ralphtor
Saya cenderung menulis path lengkap dalam jawaban saya untuk menghindari kejutan karena variabel PATH yang dikonfigurasi dengan buruk. Saya sering menggunakan perintah itu dan berfungsi untuk saya, pada 10.6 dan 10.7, meskipun tidak dalam mode pengguna tunggal yang harus saya akui. Apakah Anda menghubungkan ssh sebagai root?
cdelacroix
Bagaimana cara saya terhubung sebagai root? Saya mencoba ssh [email protected] -p 4212dan saya bahkan mencoba dengan nama pengguna akun lain yang diatur di iMac dan selalu habis. Jika saya menggunakan port lain, bukannya 4212 ia mengeluh "Sambungan ditolak", jadi ada sesuatu yang berfungsi, karena tampaknya menjawab port yang tepat. Namun saya masih tidak dapat terhubung
Ralphtor
Server mungkin tidak dapat menelurkan shell? Anda dapat mencoba ssh -vvv [email protected] -p 4212melihat (benar-benar) keluaran verbose dari sisi klien, atau bahkan pada sisi server memasukkan ssh dalam mode debug untuk melihat apa yang terjadi (dengan sshd -d -p 4212).
cdelacroix