Arch linux 一般ユーザの追加 ssh接続設定

操作はArch linuxマシンではなく、Macからターミナルで行う。

$ ssh root@192.168.0.10
The authenticity of host '192.168.0.10 (192.168.0.10)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.10' (RSA) to the list of known hosts.
root@192.168.0.10's password: 
Last login: Fri Aug 23 23:27:31 2013

この時点で接続できなかったら、
・Mac側の ~/.ssh/known_hostsを確認して接続したいIPアドレスの古いfinger printを削除
・Arch側ターミナルで

# ip addr
# systemctl status sshd

でIPアドレスとsshdがスタートされていることを確認すること。

いちいちIPアドレスを入力するのは面倒なので、公開鍵を登録し、パスワード無しでログインするため
以下の作業を行う。
公開鍵はmac_pro_rsa.pubとして作成済みとする。やり方が分からなかったらググりましょう。

Archに追加するユーザ名は hogehogeとする。

$ nano ~/.ssh/config

Host arch
HostName 192.168.0.10
Port 22
IdentityFile ~/.ssh/mac_pro_rsa
User hogehoge

IdentityFileは秘密鍵の場所を指定する。

$ ssh root@192.168.0.10
root@192.168.0.10's password: 
Last login: Fri Aug 23 23:29:37 2013 from 192.168.0.3
# useradd -m -g wheel hogehoge
# passwd hogehoge
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

Archにログインしたら、一般ユーザとしてhogehogeを作製。
いずれsudoが実行できるようにwheelグループに入れておく。

公開鍵を転送する

$ scp ~/.ssh/mac_pro_rsa.pub hogehoge@192.168.0.10:/home/hogehoge
hogehoge@192.168.0.10's password: 
mac_pro_rsa.pub                               100%  404     0.4KB/s   00:00    
$ ssh hogehoge@192.168.0.10
hogehoge@192.168.0.10's password: 
$ ls
mac_pro_rsa.pub
$ mkdir .ssh
$ chmod 700 .ssh
$ cat mac_pro_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

.sshディレクトリや中のファイルは適切にアクセス権を変更しておこう。

$ ssh arch
Last login: Fri Aug 23 23:39:06 2013 from 192.168.0.3

以上の作業が無事終了したら、Macのターミナルから ssh archとやるだけで、ログイン出来るようになる。

パスワードでのログインを無効にしておく

# vim /etc/ssh/sshd_config

PasswordAuthentication yes
#RSAAuthentication yes
#PubkeyAuthentication yes

PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes

# systemctl restart sshd

hogehogeユーザが sudoを実行できるように

# visudo

# %wheel ALL=(ALL) ALL

%wheel ALL=(ALL) ALL
のようにコメントを外す。