【mac】SSH鍵認証でサーバに接続する(初級編)

サーバにSSH鍵認証でアクセスする方法です。

秘密鍵は大事なものなので、決して第三者に漏らさないように厳重に管理してください。

SSH鍵生成準備

Finderを起動し、「アプリケーション」→「ユーティリティ」にアクセスし、「ターミナル」を起動します。

ターミナルを起動するとプロンプト($)が表示され、コマンド入力待ち状態になります。

以下のコマンド(mkdir -m 700 ~/.ssh)で、SSH鍵保存場所のディレクトリを作成します。

$ mkdir -m 700 ~/.ssh

ssh鍵を生成する

mac にて以下のコマンド( ssh-keygen -t rsa ) を実行します。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):  ← 作成される場所。問題なければEnter。
Enter passphrase (empty for no passphrase):  ← パスフレーズの入力。省略する場合はそのままEnter。
Enter same passphrase again:  ← パスフレーズの再入力。省略した場合はそのままEnter。

秘密鍵 (id_rsa) と公開鍵 (id_rsa.pub)が~/.ssh/ディレクトリ以下に作成されました。

$ ls ~/.ssh/
id_rsa      id_rsa.pub

おまじないを掛けます。

$ chmod 600 ~/.ssh/id_rsa

このうち、公開鍵をサーバにコピペします。(秘密鍵はmac にて使います。詳細はあとで)

サーバに公開鍵を設置する準備

以下のコマンド (cat ~/.ssh/id_rsa.pub | pbcopy) で公開鍵がコピーされます。

$ cat ~/.ssh/id_rsa.pub | pbcopy

サーバにログインする

サーバにログインしてください。

サーバに公開鍵を設置する

サーバにログイン後、公開鍵を設置します。

( 公開鍵のディレクトリを作成します)
$ mkdir -m 700 ~/.ssh

( ~/.ssh/authorized_keys に公開鍵をペーストします)
$ vi ~/.ssh/authorized_keys
(公開鍵の内容をペーストする)

おまじない。

$ chmod 600 ~/.ssh/authorized_keys

mac からサーバにssh できることを確認します。

サーバのIPを 123.45.67.89、ログインユーザを server_user とします。(ご自身のIPに変更してください)

$ ssh 123.45.67.89 -l server_user -i ~/.ssh/id_rsa

無事にログインできればOKです。

簡単にログインできるようにする。

簡単にログインできるようにします。

~/.ssh/config に以下の内容を記載します。

$ vi ~/.ssh/config
host server-001
  hostname 123.45.67.89
  user server_user
  IdentityFile ~/.ssh/id_rsa

おまじない。

$ chmod 600 ~/.ssh/config

これで ssh server-001 でSSH鍵でログインできるようになります。

鍵ログイン成功後は、サーバ側でパスワードログインを無効化してください。

【参考サイト】

www.task-notes.com

webkaru.net

NEM beta 0.6.83 リリースノート和訳

本記事は NEM beta 0.6.83 のリリースノートの和訳・意訳です。

掲載に問題がある場合は速やかに取り下げますので、ご連絡ください。

また、訳に関する修正・誤りなどありましたらご指摘いただけると幸いです。

forum.nem.io

NEM 0.6.83 リリースノート

変更点

  • NIS のバグ修正
    • ネームスペースが期限切れの場合に保有しているネームスペース・モザイクがナノウォレットで正しく表示されないバグ

注意点

  • インストーラーを用いる際には、NCCとNISが停止していることを確認してから、インストールを開始してください。
  • NEM には Java8 が必要です。
  • 下記リンクにあるインストーラーを使ってNCCとNIS をダウンロードすることができます。

CoinCheck からログアウトする方法

ビットコイン取引所のCoinCheck ( コインチェック )からログアウトする方法を紹介します。

次のリンクをクリックすることでログアウトすることができます。

https://coincheck.com/ja/sessions/signout

ログアウトボタンが深い階層のところにあるため、見つけるのは結構困難でした。

ありがとうございます。

【ビットコインとか勉強会】で発表してきました

ビットコインとか勉強会#4 - connpass にて登壇の機会をいただきましたので、色んな暗号通貨を送信すると言う内容で発表してきました。

参加者の方にどんな暗号通貨を持ってるかきいてみたところ

ビットコイン: 80% NEM : 50% Zcash : 5%

くらい割合でした。(複数解答可)

NEM が想像より多かったですし、Zcash が思った以上に少なかったですね。

NEMに関する発表は結構珍しいこともあり、質疑応答はNEMのことが多かった印象です。 幾つか抜粋すると以下のような感じ。

  • スーパーノード報酬ってなんですか
  • PoI で悪意のあるノードを排除できる理屈はなにか
  • 委任ハーベスティングは自身でハーベスティングしてないのに報酬がもらえるのはなぜか
  • 各コミュニティの盛り上がり具合はどんなかんじか(参加人数やコミュニケーション密度)
  • ビットコインの半減期と価格

コアな質問ばかりで、勉強不足がモロバレでした笑

当日の会場の様子。mixi さん、会場提供ありがとうございました!

近いうちに、(zcash含めて) リベンジの発表をしたいです。

では!

mountainduck (マウンテンダック) を使って S3 をマウントする【管理者編】

S3 をwindows や mac にマウントして簡単かつ高セキュリティでクラウドなNAS相当のものを構築したいと思います。

本編はAWS の設定など管理者向けの情報になっています。

mountainduck のインストール以降は【利用者編】 を参照ください。

cameong.hatenablog.com

S3 とは

S3 とは、AWS が提供するインターネット用のストレージサービスです。

【セキュリティが高く、ほとんどサービス停止しないのに、安い】という三拍子そろった製品です。

このS3 をNASの代わりに使おうと思います。

Linuxであれば s3fuse というオープンソースなソフトウェアがあるのですが

mac・windows はs3fs が未対応(mac は対応してるかも?) なので

別の製品を使って実現したいと思います。

cameong.hatenablog.com

商品比較

いくつか調べた結果、tntdrive と mountainduck を利用しているケースが多かったため、この2つを比較しました。

S3 Drive. Mount Amazon S3 Bucket as a Windows Drive. Map Amazon S3 Bucket. Mount S3 Drive. Amazon S3 Disk.

mountainduck.io

- tntdrive mountainduck
無料トライアル 有り あり
課金体系 1PCごと(複数PC不許可) 1ユーザごと(複数PC可能)
価格 $39.99 以上 $39 以下
大量購入割引 なし あり
対応OS Windows Vista/2008/7/8/8.1/2012 R2/10 Windows 8.1, OS X 10.11.6

windows 10 で試してみたかったのですが、期待も込めて

もろもろ良さそうなmountainduck を利用することにしました。

詳細な機能比較はこちらからどうぞです。

管理者向け設定

この項目は管理者向けの設定ですので、利用するだけであれば飛ばしてください。

S3 のバケット設定

S3 はバケットという大きなフォルダを最初に作るところから始まります。

S3 にアクセスします。左上の「create bucket」ボタンをクリックします。

https://i.gyazo.com/097c6fd31f212744d22490d9bf018e34.png

こういう画面に成るので

https://i.gyazo.com/9f15e9c28ab0d0ebedb78787aea84398.png

バケット名 (ここだと cameong ) を入力し、「create」ボタンをクリックします。

https://i.gyazo.com/02eeaed477b024f10ca483d8560ee344.png

バケットが作成されました。

https://i.gyazo.com/7281b4c830d9a286b2c5cb5d3d2597d4.png

次は、だれでもバケットの権限設定です。

閲覧・書込みを特定の人にしかしないように設定します。

バケットの権限設定

バケットポリシーの作成

ポリシーの作成 ページに移動し、左上の「Create Policy」ボタンをクリックします。

https://i.gyazo.com/feb1cd23ca9a839f072570f374f44fcf.png

「Create Own Policy」を選択します。

https://i.gyazo.com/5f035b61320507947e392d1ecf1fec0f.png

ポリシーを以下のように作成します。

https://i.gyazo.com/952d08e798128c94447018f49288e8e6.png

Policy Name: s3_cameong_rw_policy

Policy Document :

cameong はご自身のバケット名に置き換えてください。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets"
            ],
            "Resource": "arn:aws:s3:::cameong"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::cameong"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::cameong/*"
        }
    ]
}

エラーが出た場合は、修正してから右下灰色の「Validate Policy」ボタンをクリックすると、正しいかどうかがわかります。

正常に作成できると、このようになります。

https://i.gyazo.com/726d5dbaf93e714e4515d01e6deafb3f.png

特定のバケットしか閲覧・書き込みできないグループを作成

特定のバケットだけ操作できるグループを作成します。

iam にアクセスし、左上青色の「Create New Group」ボタンをクリックします。

https://i.gyazo.com/d15bb2ac659a31cc9a31d775943b2642.png

ここでは、グループ名を s3_cameong_rw とします。

https://i.gyazo.com/721b83c9dbd05b0cb8f02026ab027720.png

https://i.gyazo.com/bccb9eea63366c2572733baed6846fc3.png

https://i.gyazo.com/eb8e1ba0843786ef83b82fa05ead9ba6.png

ユーザ作成・グループに所属

こちらページに移動し、左上青色の「Add User」ボタンをクリックします。

https://i.gyazo.com/6d02dabb7f0b02e1b3483ba0f149e683.png

ユーザ名 (ここでは s3_cameong_001)を入力し、「Programmatic Access」にチェックをいれ、「Next Permissions」をクリックします。

https://i.gyazo.com/d48b12bf35320aca695e3328a0ab4fc2.png

先程作成したグループを選択して

https://i.gyazo.com/9dd426f90b1e0c79206d4c2b192fcd59.png

右下、「Next: Review」をクリックします。

https://i.gyazo.com/349589b74fcdf901332482dbd8f7892c.png

内容に不備がなければ、右下「Create User」をクリックします。

https://i.gyazo.com/f460d85dff10c41941b69e67a8540682.png

「Download CSV」ボタンをクリックし、Access Key ID と Secret access key を入手します。 Access Key ID と Secret access key はとても重要なので、流出しないようにしてください。

https://i.gyazo.com/26a69c4ecd85b0b2e077529f7b4be9c7.png

https://i.gyazo.com/57258ed14da7e096617f3c79a25e8a6c.png

これで、S3 側の設定は完了しました。次は利用者向けの設定を行います。

cameong.hatenablog.com

mountainduck (マウンテンダック) を使って S3 をマウントする【利用者編】

mountainduck を使ってS3 をマウントする

mountainduck を使ってS3 をマウントする。利用者編です。

AWSの設定などは【管理者編】 を参照ください。

mountainduck のインストール

まずmountainduck をインストールします。

公式HP からインストーラをダウンロードします。

ダウンロード完了後、インストーラーを起動するとインストールが開始されます。

ウィザードにしたがってインストールを行います。

mountainduck の起動・S3へのアクセス

インストール完了後、mountainduck を起動します。

といっても、自動的に起動しているはずです。

画面一番上のツールバーあるアヒルっぽいアイコンをクリックします。

アヒルのアイコンをクリックした後、ダイアログの「New Bookmark」をクリックします。

https://i.gyazo.com/c6db2edca61b5b3c6a92a51889f0b076.png

下図のように、それぞれ入力し、右下の「Connect」ボタンをクリックします。

https://i.gyazo.com/b8e245a413d01ac482948e6196d0359b.png

フォームに情報を入力します。Access Key ID, Secret Access Key をそれぞれ入力し、「login」 をクリックします。

https://i.gyazo.com/0ad9ea4893c9e133f78d67fb9f2675c4.png

正常にログインできると、次のようにバケットが見えるようになります。

gyazo.com

python 10分前が何分台か調べる

10分前は何分台なのか調べる

>>> from datetime import datetime, timedelta
>>> from pytz import timezone
>>> (datetime.now(timezone('UTC')) -timedelta(minutes=10)).strftime('%Y-%m-%dT%H:%M')[:-1]
'2016-11-11T05:2' # 2016年11月11日5時20分台

Pythonで文字列 <-> 日付(date, datetime) の変換 - Qiita