技術ネタ

Coreserverのアクセス許可登録を自動化

技術ネタ
※ 一部の外部リンクは広告を含む場合があります
スポンサーリンク

CoreserverではSFTPやSSH接続時にまず接続元のIPアドレスをサイト上で許可する必要があります。
30日経つと許可は取り消され、IPアドレスが変わっていなくても再度許可を行う必要があります。
でもめんどくさいですよね。急いで接続したいとき(?)に接続エラーになって、管理画面から許可して何分か待って…というのもダルい話です。

CoreserverではAPIが提供されているので、だいたいの操作を自動化することができます。
(なかにはアカウントの削除とかもあり…)

僕はIPアドレスを通知する以下のスクリプトをRaspberry Pi上で定期的に実行しています。
IIJのIPv6(transix)環境で試していますが ipaddr.show というサービスで調べたIPアドレスで使えています。コメントアウトしてるほうだとIPv6アドレスになってしまうのでAPIでエラーになってしまいます。

#!/bin/sh

# Doc
# https://help.coreserver.jp/manual/v1/api-create/
# https://apidoc.coreserver.jp/#/tool/2017/07/19/tool-ssh-add.html

# Endpoint
# Coreserver: https://api.coreserver.jp/v1/tool/ssh_ip_allow
# Xrea:https://api.xrea.com/v1/tool/ssh_ip_allow

account=Coreserverのアカウント名
server_name=s00.coreserver.jp (自分の所属しているサーバー)
api_secret_key=xxxxxxxxxxxxxxxxxxxxxxxx
end_point=https://api.coreserver.jp/v1/tool/ssh_ip_allow

#ip_addr=`curl -s ifconfig.me`
ip_addr=`curl -s ipaddr.show`

curl \
  -d "account=${account}" \
  -d "server_name=${server_name}" \
  -d "api_secret_key=${api_secret_key}" \
  -d "param[addr]=${ip_addr}" \
  -X POST ${end_point}

このスクリプトを ssh_ip_allow.sh などという名前で保存し実行権限を付与して、Cronで定期実行すれば自動で接続元IPアドレスが更新されます。

crontab -e

*/30 * * * * /home/hogehoge/ssh_ip_allow.sh  > /var/log/ssh_ip_arrow.log 2>&1

API KEYの発行は以下ページを参照ください。

コメント

  1. はぁ強すぎ、大尊敬

    • お役に立ててありがたい話!

タイトルとURLをコピーしました