さむブログ

学生エンジニアのポートフォリオ

AWS(EC2)にSSHでアクセスできない

そろそろAWSに挑戦するぞー。ということでチュートリアルに沿って進めてみた。

  • アカウント作成
  • インスタンス作成
  • セキュリティグループ設定 までは問題なく進んだ。

でも、「SSHで接続」がどうしてもできない( ;∀;)

2日調べて分かった原因と解決法を書いていく。

原因

大学のプロキシサーバではデフォルトのSSH通信用のポート22は使えないようになってました(汗)

それどころか外に対する接続はほぼすべてカットされてました(汗)

とりあえず、22番・80番・443番試してみたけどだめだった。

セキュリティ厳しすぎませんかねぇ

解決法

  • 大学とは関係ない通信網を使う(大学内でのデフォルトのイーサネットを使わない)
  • 一度家からインスタンスにアクセスして接続のポート番号とセキュリティグループを変更する(/etc/ssh/sshd_config)

まとめ

  • サーバにアクセスする時は、その場で使う通信が指定のポートを開放しているか確認する
  • 22, 80, 443番ポート試してダメだったら組織内の通信で許可されていない可能性大(大学はダメっぽい)
  • Windowsの人は認証にPuttyよりTeratermを使ったほうが楽

「積んでクレ」プライバシーポリシー

Takahiro Wakano
Engineer in Tokyo

ゲーム「積んでクレ」について

個人情報の利用目的

当ゲームは、ご利用者様からご提供いただきました個人情報を、ご利用者様からの各種お問い合わせに対する回答・連絡に必要な範囲でのみ利用いたします。 上記目的の範囲を超えてご利用者様の個人情報を利用する必要が生じた場合は、ご利用者様にその目的を連絡いたします。新たな目的にご同意頂けない場合には、利用いたしません。

個人情報の第三者への開示

当ゲームでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

  • 本人のご了解がある場合

  • 法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止

ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

免責事項

当ゲームからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当ゲームのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当ゲームに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

プライバシーポリシーの変更について

当ゲームは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。

EdgeCollider2DとPolygonColldier2D

Unityで2Dゲームの当たり判定を取るときに、いつもPolygonColldier2D使ってたから気づかなかったけど、

EdgeCollider2D同士は衝突しない

answers.unity3d.com

PolygonColldier2D同士はちゃんと衝突するから安心。

Githubにsshでアクセスできない時の応急処置

いつ起きたか?

Githubリポジトリにプロジェクトファイルを
git push origin master
しようとしたとき。
↓のようなエラーを頂いた。

$ git push origin master
Permission denied (publickey).
fatal: Could not read from remote repository.

原因

以下のような原因が考えられる。

  • GithubSSH keyの設定をしていない
  • そもそも公開鍵を作っていない
  • 昔作った公開鍵と最近作った公開鍵がごちゃ混ぜ
    ('Д') つらい

解決策

よくわからないなら、公開鍵を作り直すのが簡単!
過去を清算できてうれしい!!

ローカルに公開鍵を作る

まずは以下のコマンドを入力

$ cd ~/.ssh
$ ssh-keygen -t rsa -C "hogehoge@gmail.com"

やってることは、ホームディレクトリ内の.sshフォルダ内で公開鍵を作ってるだけ('ω')
.sshフォルダ無くても勝手に生成されるから問題なし

うまく実行できると以下のような結果になる

Generating public/private rsa key pair.
Enter file in which to save the key (/<ホームディレクトリ>/.ssh/id_rsa):

保存場所聞いてるからとりあえずEnter押すとこうなった

/<ホームディレクトリ>/.ssh/id_rsa already exists.
Overwrite (y/n)?

原因発覚!

もう元々あったのか(汗)
上書きするからyを入力

その次は

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

これは2回パスワードを打てって言ってるから打っておきましょう

The key fingerprint is:
SHA256:<文字列> <アドレス>
The key's randomart image is:
+---[RSA 2048]----+
|    . .o .      |
|   +.= +         |
|   .O o    O     |
|. o. * B .       |
|.+o=o.+ S        |
| o==+.o          |
| .o..+o.         |
|o. .+o++         |
|+  .=E*          |
+----[SHA256]-----+

これで山場は越えました!(^^)!

ssh-agentを自動で起動するようにする

eval $(ssh-agent -s) で起動するたびにssh-agentが裏で起動されて、 パスフレーズとかの入力が不要になるらしいです(よく分かってない)

$ eval $(ssh-agent -s)
Agent pid <数字5桁?>

ssh-agentに公開鍵を追加する

$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /<ホームディレクトリ>/.ssh/id_rsa:
Identity added: /<ホームディレクトリ>/.ssh/id_rsa (/<ホームディレクトリ>/.ssh/id_rsa)

パスフレーズ打ってIdentity added が出れば成功!


GitHubに公開鍵を登録

Github -> Settings -> SSH and GPG keys で公開鍵を登録する。

~/.ssh/id_rsa.pubの中身をコピーすればいいのだけれど、開くのが面倒くさいのでコマンドラインからコピーしましょう。

$ clip < ~/.ssh/id_rsa.pub

f:id:sam8:20180114112343j:plain

僕の場合はこれで解決しました