단일 사용자 모드로 Mac에서 SSH 활성화


10

심각한 하드웨어 손상으로 인해 단일 사용자 모드에서만 접근 할 수있는 iMac이 있습니다. 이더넷 케이블로 다른 컴퓨터에 연결했습니다. SSH를 통해 iMac에 원격으로 로그인하고 싶습니다. iMac은 OS X 10.6.4를 실행 중입니다.

나는 비슷한 대답을 보았지만 시도한 것은 항상 실패했습니다.

시도한 systemsetup -setremotelogin on결과 다음과 같은 오류 메시지가 나타납니다.

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

launchctl load -w /System/Library/LaunchDaemons/ssh.plist제공 하는 동안 :

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

어떻게해야합니까?


Can't assign requested address네트워크 연결이없는 것처럼 들립니다. 단일 사용자 모드에서는 네트워킹 을 사용 ifconfig하거나 사용 ifup하도록 설정 해야한다고 생각 합니다.
Blacklight Shining

@BlacklightShining 감사합니다! 나는 이들 명령에 약간의 경험을 가지고, 난 맥으로 사용하는 것이 더 적합 할 것이라고 생각 networksetup이나 ipconfig그러나. 다른 컴퓨터가 단일 이더넷 케이블을 통해 iMac에 연결하기 위해 어떤 명령을 제공해야하는지 알고 있습니까? 또는 대안으로, iMac을 WPA2로 보호 된 Wi-Fi 네트워크에 연결 하시겠습니까?
Ralphtor

나는 확실하지 않다. man $program_name그런데 거의 모든 프로그램의 매뉴얼 페이지를 얻을 수 있습니다 . 나는 당신이 시도 할 무언가를 생각해 낼 수 있는지 살펴 보겠습니다 ...
Blacklight Shining

답변:


8

더 많은 plist를로드 해야하는 것처럼 보입니다.

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

그런 다음 이전에 시도한 작업을 수행하십시오.

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

그 후에 이더넷 케이블을 두 컴퓨터에 꽂아 Ad-hoc 네트워크를 만들 수 있다고 생각합니다. ifconfig en0 | grep inet대상 컴퓨터에서 IP 주소를 얻으면 모든 설정이 완료됩니다. :)


조언 해 주셔서 감사합니다. 첫 번째 명령이 좋았습니다. 불행하게도 컴퓨터로 회답 마지막 명령 : DNSServiceRegister("ssh"): -65563, DNSServiceRegister("sftp-ssh"): -65563,이 두 가지 메시지를 두 번 반복했다. 그래서 ssh와 연결할 수 없습니다. 나는 아마 내 잘못이다, 그래서 들어오는 SSH 연결을위한 포트를 변경하는 희미하게 기억,하지만 난 어떤 도움 감사하겠습니다
Ralphtor

명확히해야합니다 : launchctl load -w /System/Library/LaunchDaemons/ssh.plist이전 의견에서 언급 한 오류 systemsetup -setremotelogin on를 알려주 면서 계속 제공하면서setInetDServiceEnabled failed for ssh because authorizationRef is NULL!
Ralphtor

포트를 어떻게 변경했는지 기억하십니까? 다시 바꿀 수 있을까요? 그것은 아무것도하지 않을 수도 있지만 시도해 볼만한 가치가 있습니다 ...
Shining

구성 파일을 읽었으며 포트가 올바르게 21로 설정된 것 같습니다. 다른 Mac의 지침을 따르고 ssh가 동일한 오류를 냈기 때문에 이것이 문제가 아니었을 것입니다. 솔직히 말해서 내가 테스트 한 Mac은 Lion의 Mac mini였으며 com.apple.DirectoryServices.plist더 이상 존재하지 않는다고 주장했지만 (Sion에서 제거 된 것처럼) 더 이상 문제가되지 않아야합니다 .ssh는 아이맥.
Ralphtor

3

고려할 수있는 세 가지 솔루션. 먼저 대상 디스크 모드를 시도하십시오. 단일 사용자 모드가 작동하면 대상 디스크 모드도 작동합니다.

대상 디스크 모드로 시작되면 Firewire를 사용하는 다른 시스템에 연결하고 두 번째 시스템에 외부 부팅을 지시하십시오 (부팅시 옵션 유지). 손상된 시스템의 OS가 로컬 시스템 하드웨어를 사용하여 부팅되면 시스템 환경 설정을 열고“공유”를 클릭하십시오.“원격 로그인”옆의 확인란을 선택하여 활성화하십시오.

종료하고 다시 시작하면 SSH가 실행 중이어야합니다.

두 번째 옵션은 손상된 시스템에서 하드 드라이브를 분리하여 외부 (외부 인클로저)에서 부팅하거나 기능 시스템 내부에 놓고 부팅하는 것입니다.

이들 중 어느 것도 작동하지 않지만 단일 사용자를 실행중인 경우 다음을 고려하십시오.

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

그러면 화면 공유가 켜지고 원격 공유기의 시스템 환경 설정에 액세스하여 변경하고 (SSH 켜기) 기능을 수행하게됩니다.


0

왜 sshd를 직접 시작하지 않습니까? 네트워크가 작동되면 /usr/sbin/sshd -p 4212포트 4212에서 ssh 서버가 열립니다.


답변 주셔서 감사합니다. 나는 명령을 실행했다 (호기심으로 전체 경로를 작성 해야하는 이유를 묻고 싶다 /usr/sbin/). topiMac에서 실행하면 이라는 프로세스 sshd가 표시되어 작동했을 것입니다. 그러나 이더넷 케이블을 사용하여 컴퓨터와 연결하는 경우 iMac의 IP를 찾아 다른 컴퓨터에서 ifconfig실행하십시오 ssh 192.168.0.3 -p 4212.ssh: connect to host 192.168.0.3 port 4212: Operation timed out
Ralphtor

또한 shutdown -h nowiMac을 종료 할 수 없습니다. 수동으로 종료해야했습니다
Ralphtor

PATH 변수가 잘못 구성되어 놀라움을 피하기 위해 답변에 전체 경로를 작성하는 경향이 있습니다. 나는 그 명령을 자주 사용하고 10.6과 10.7에서 작동하지만 단일 사용자 모드는 아니지만 인정해야합니다. ssh에서 루트로 연결하고 있습니까?
cdelacroix

루트로 어떻게 연결합니까? 나는 시도 ssh root@192.168.0.3 -p 4212하고 난 다른 아이맥에 설정된 계정과 항상 시간 초과의 사용자 이름으로 시도했다. 다른 포트를 사용하는 경우 4212 대신 "연결이 거부되었습니다"라는 메시지가 표시되므로 올바른 포트에 응답하는 것처럼 보이기 때문에 무언가 작동해야합니다. 그러나 여전히 연결할 수 없습니다
Ralphtor

서버가 쉘을 생성하지 못할 수 있습니까? 당신은 시도 할 수 있습니다 ssh -vvv root@192.168.0.3 -p 4212(에 무슨 일이 일어나고 있는지 확인하기 위해 클라이언트 측에서, 또는 디버그 모드에서 서버 측 풋 SSH에 출력 자세한 (정말) 참조 sshd -d -p 4212).
cdelacroix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.