SSH接続準備
公開鍵置き場を作る
サーバ側で
mkdir ~/.ssh
chmod 700 ~/.ssh
秘密鍵/公開鍵を作る
ローカル側で
ssh-keygen -t <rsa名 rsaとかでOK>
[ENTER]
[パスフレーズ]
[パスフレーズ確認]
chmod 600 ~/.ssh/<rsa名>.pub
公開鍵をサーバへ配置
ローカル側
scp ~/.ssh/<rsa名>.pub user@ip:~/.ssh/authorized_keys
sshd設定
/etc/ssh/sshd_configファイルを編集
RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no
PasswordAuthentication yes
rootでのログイン禁止、パスワード認証許可とか入れても良い
DenyUsers ALL
AllowUsers <user>
root含む意外の接続を許可しない様にしてもよい。これは追加して設定。
sshd再起動
/usr/sbin/sshd -t
systemctl restart sshd.service
秘密鍵のパスフレーズを設定
接続するたびにパスフレーズが聞かれるので設定しておく
ssh-add <秘密鍵のpath>
で、パスフレーズが聞かれるので入力。
Fabric準備
easy_install fabric
(前使えてたのに使えなくなった時、バージョンをあげてみたらうまくいきました。pyenvとかでバージョンを柔軟に代えられるようにしておくとよい。)
Fabfile.pyを作成
from fabric.api import run
def getHostname():
run("hostname")
fabfile.py以外の名称でファイルを作成した場合は-f <fabfile>
を入れる。
<method>
は上記ファイルの場合getHostname
を指定。
fab -H <サーバ ADDRESS> -u <サーバUSER> -f <fabfile> <method>