在 Mac 建立新帳號,並且開通 ssh 權限

為什麼我會需要在 Mac 建立新帳號呢,原因就是最近用 Golang 寫了 SCP 工具,此工具支援 Password 或 SSH Public Key 登入,我又不想拿個人帳號寫在 Testing 檔案內,所以才會想到在 Mac 建立一個帳號好了,本篇就是教大家如何在 Mac 建立新帳號,並且開通 SSH 權限。

建立 Mac 帳號

Mac 不像是其他 Linux 作業系統,可以直接透過一行指令完成建立帳號動作,所以透過 Google 找到了這篇解法

1
2
3
4
5
6
7
8
dscl . -create /Users/drone-scp
dscl . -create /Users/drone-scp UserShell /bin/bash
dscl . -create /Users/drone-scp RealName "Joe Admin" 
dscl . -create /Users/drone-scp UniqueID "510"
dscl . -create /Users/drone-scp PrimaryGroupID 20
dscl . -create /Users/drone-scp NFSHomeDirectory /Users/drone-scp
dscl . -passwd /Users/drone-scp password 
dscl . -append /Groups/admin GroupMembership drone-scp

上面指令完成後,請切到 Root 下重新開機的指令

1
$ reboot

這時候你會看到右上角多了一個帳號 drone-scp

最後登入 drone-scp 帳號來產生個人目錄底下的相關檔案,這樣用 Command 才可以切到該使用者家目錄 /Users/drone-scp

啟動帳戶 SSH 權限

Mac 預設是不讓外面透過 ssh 方式連線到使用者,所以必須透過管理者開通此權限,請到 System Preferences -> Shareing,將左邊 Sidebar 內的 Remote Login 打開,並且把 drone-scp 帳號放入白名單。

測試 SSH

首先產生 SSH Key

1
$ ssh-keygen -f id_rsa -N '' -t rsa

複製 id_rsa.pub 到 drone-scp 家目錄

1
$ cp -r id_rsa.pub /Users/drone-scp/.ssh/authorized_keys

透過 ssh 指令測試看看是否可以登入,請注意 id_rsa 權限必須為 400

1
$ ssh -i id_rsa -l drone-scp localhost

有看到成功登入的畫面吧 ^___^

後記

寫完這篇才想到,可以用 Docker 來快速架一個 SSH Server,這邊就不多介紹了,新建 Mac 帳號也是蠻快的。


See also