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の発行は以下ページを参照ください。
コメント
はぁ強すぎ、大尊敬
お役に立ててありがたい話!
IP登録が必要なのは XREA の方では…?
(少なくとも CORE V2 の方はIP登録は不要)
V1の話です。ここでXREAやV2の話はしていません。
必要ないのならそのまま使えばいいだけの話では?
ああ、V1などV2以外の話をしてるんだなという理解にはならないんですか?