SSH経由でMac上の別のアカウントのリモートアクセスをリモートで有効にする方法


23

リモートMacコンピューターで管理者権限を持っています。SSH経由でアクセスできます。Macには、リモートアクセスのない別のユーザーアカウントがあります。(SSH経由で)リモートで他のアカウントのリモートアクセスを有効にするにはどうすればよいですか?

回答:


19

ユーザーによるSSHアクセスは、ディレクトリサービスのローカルコピーによって制御されます。(を使用して制御dscl

最初の実行dscl . list /Groups | grep 'access_ssh'。返された値が示す場合、com.apple.access_ssh-disabledすべてのユーザーがSSHアクセスを持っています。そうでない場合は、ユーザーにアクセス権を付与する必要があります。

ユーザーを追加するには、実行する必要があります。

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

(USERNAMEをユーザーの短いユーザー名に置き換えます)および

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

(USERNAMEを短いユーザー名に置き換えます)

(最後の部分は、lists.apple.comのReed Stonerのおかげです

特定のユーザーのみのリモート管理を追加/有効にするには(VNC が必要な場合、ghoppeの回答から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

実行して詳細を確認する sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -h


1
@Andrei:-configureの後に、ユーザーのリストを使用して-usersフラグを追加します。回答に追加しました。
-Chealion

4
access_sshの構造は時間とともに変化しているようです。最初のdsclコマンドのキー「user」はGroupMembershipになります。UIDをグループメンバーに追加する2番目のdsclコマンドは引き続き有効です。
エリック

2
エリックは正しいです-@Chealion、コマンドをdscl . append /Groups/com.apple.access_ssh GroupMembership <username>
-rfayに

2
私は10.11.5を使用していますが、コマンドは文句を言いませんが、ユーザーはまだsshできません。編集:これを試して、それが働いた:support.apple.com/kb/PH18726
ジェイエン

1
この答えはまだ有効かもしれませんが、@ teppicの答えは、グループdseditgroupを編集するための特定のツールを使用した、より正確な方法を提供します。
エンダレス

12

Chealionの回答に基づいて、すべてのユーザーがsshを使用できるようにするためにこれを思いつきました。

dscl . change /Groups/com.apple.access_ssh RecordName com.apple.access_ssh com.apple.access_ssh-disabled

5

コマンドラインからリモートデスクトップを有効にします:

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

画面共有をオフにします。

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

編集

OK、あなたの質問を誤解したかもしれません。「リモートアクセス」では、リモートデスクトップのことを想定していましたが、他のアカウントのsshアクセスを有効にしたいだけです。

私の答えはそこにあなたを中途半端にします。図のようにリモートデスクトップを有効にした後、リモートMacに接続し、システム設定を介してユーザーのsshアクセスを変更します。

リモートMacに接続するには、Finderに移動して[ Connect to Server…移動]メニューの下を選択します。コンピューターのサーバーアドレスを入力します。

vnc://x.x.x.x

ここで、xxxxはリモートコンピューターのIPアドレスまたはURIです。あなたはsshに接続しているので、すでにこれを知っていると思います。

これで、リモートデスクトップを使用して、[システム設定]> [アカウント]に移動し、ボックスをクリックして、他のアカウントがコンピューターにログインできるようになります…


Apple Remote DesktopをリモートMacにインストールする必要がありますか?最初のコマンドの後はどうすればよいですか?
アンドレイ

1
リモートデスクトップは既にシステムにインストールされています。リモートデスクトップの手順の回答を編集します。おっとっと。私はあなたの質問を誤解したかもしれません…
-ghoppe

とにかく、最初のコマンドの後で、リモートMacにアクセスするために別のMacを使用していると仮定して、何をする必要がありますか?
アンドレイ

2
私の答えを編集しました。コマンドライン経由でsshアクセスを有効にする方法がある場合がありますので、リモートデスクトップ経由で実行する必要はありませんが、この方法でも機能するはずです。
ghoppe

最初のコマンドは疑わしい処理を行います-私だけでなく他のアカウントも変更します。他のアカウントが影響を受けないように変更できますか?
アンドレイ

5

sshcom.apple.access_sshグループのメンバーにアクセスが許可されます。これは、共有設定ペインからリモートログインサービスへのアクセス変更を行うときに編集しているグループです。

しながら、dscl編集グループメンバーシップ(他の回答に記載されているように)するために使用することができ、dseditgroup変更するクリーナ方法でcom.apple.access_sshコマンドラインからグループメンバーシップ。

ユーザーを追加するには:

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

ユーザーを削除するには:

sudo dseditgroup -o edit -t user -d USERNAME com.apple.access_ssh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.