web-dev-qa-db-ja.com

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

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

24
Andrei

ユーザーによる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を実行して詳細をご覧ください

20
Chealion

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

dscl . change /Groups/com.Apple.access_ssh RecordName com.Apple.access_ssh com.Apple.access_ssh-disabled
12
Marmaduke

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

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

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

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

5
ghoppe

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

dsclを使用してグループメンバーシップを編集できますが(他の回答で説明されています)、dseditgroupcom.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
5
teppic