ssh 権限が微妙だった件

ローカル環境のセットアップの際、PCのホームディレクトリを再設定しなければいけないという状況になってしまったので、.sshのファイルを一時的に別の場所へ避難させておきました。

いざ戻して、ssh接続しよう!となった際に、権限がおかしいと怒られてしまったのでその時の対処法を記述しておきます。

エラー出てきた!

踏み台サーバーに接続しようとしたとき、こんなエラーが出てきました。

$ ssh bastion 
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/Users/Komatsu/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/Users/Komatsu/.ssh/id_rsa": bad permissions
yukikoma@210.140.195.88: Permission denied (publickey).

秘密鍵の権限がオープンすぎるとのこと。

結論

このように権限を変えると正常に実行できました!

$ cd .ssh
$ chmod 600 config #実は上記実行時すでにやってある
$ chmod 600 id_rsa

ssh接続する時は権限を気をつけないと。

LinuxOSでエイリアスを永久に削除する方法。

以前、railsのローカル環境をセットアップした際、homebrewに関するエラーがでてしまいました。
そのエラーと格闘していた時、間違えてエイリアスを作成してしまったのですが、
どうしても永久に削除する方法が見つからなかったのでここに書いて置きます。

*homebrewのエラー解決の様子も後ほど書きます。計10時間ほどは格闘していたと思います…

そもそもエイリアスとは

aliasとは、コマンドの別名を登録するコマンドです。
別の名前で参照するためのシンボルとも言われますが、
具体的な使い方としては

  • ショートカット
  • パスの変更

などで使います。
自分は後者で使いました。

エイリアスの設定方法

設定方法は簡単でターミナル上で以下のように記述します。

alias [登録名]=[登録するコマンド]

$ alias be='bundle exec'

この例では、rails のgem管理ツールのbundlerのコマンドの一つであるbundle exceをいちいち

$ bundle exce rake db:migrate

などと打たなくていいように、つまり

$ be rake db:migrate

で済ませるためのものです。

エイリアスの一時的な停止

こちらは色々なところによく乗ってる方です。 まず現在設定してあるエイリアスの一覧を表示するには

$ alias

のように打つと一覧が表示されます。

そこで消したいエイリアスを確認し、

$ unalias [登録名]

# 例えば
& unalias be

とすれば、エイリアスを解除することができます。 ただし、この方法だとターミナルを閉じるとまた戻ってしまいます。 永久にエイリアスを削除するためにはちょっと手間が必要なのです。

エイリアスを永久に削除するには

エイリアスを永久に削除するためには設定ファイルの記述を削除する必要があります。 Googleで検索しても、なぜかファイルが見つからなかったので、かなり時間をかけてどこにあるか探してみました。 その結果、自分の環境だと.bash_profileというファイルに記述してあることがわかりました。 削除までの様子を書いておきます。

まずエイリアスの一覧を表示

$ alias
alias brew='env PATH=/Users/Yuki 1/.rbenv/shims:/Users/Yuki 1/.rbenv/shims:/Users/Yuki 1/.rbenv/shims:/anaconda3/bin:/Users/Yuki 1/.rbenv/shims:/Users/Yuki 1/.rbenv/shims:/usr/local/bin:/Users/Yuki/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin brew'

今回はbrewを削除したい。

ホームディレクトリから

$ ls -a
total 112
.
..

...(中略)...

.atom
.bash_history
.bash_profile
.bash_sessions

...(後略)...

ホームディレクトリの隠しファイルにありました。 .bash_profile を開いてみると、ちゃんと記述があります。

$ cat .bash_profile 
# added by Anaconda3 4.3.1 installer
export PATH="/Users/Yuki/anaconda/bin:$PATH"
export PATH=/usr/local/bin:$PATH
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/shims:$PATH"

# added by Anaconda3 5.1.0 installer
export PATH="/anaconda3/bin:$PATH"
eval "$(rbenv init -)"
eval "$(rbenv init -)"
eval "$(rbenv init -)"
alias brew="env PATH=${PATH/\/Users\/tasukujp\/\.pyenv\/shims:/} brew"
eval "$(rbenv init -)"

ここで$ vim .bash_profileをして、

alias brew="env PATH=${PATH/\/Users\/tasukujp\/\.pyenv\/shims:/} brew”

の記述を削除

できた!

$ brew -v
Homebrew 1.6.6
Homebrew/homebrew-core (git revision b181; last commit 2018-05-30)

Aliasは使いこなせると便利そうですね。
意味わからず使ってしまうと混乱します…笑

ブログ始めます。

はじめまして。 ブログはじめます。

このブログは何かテーマがある訳でも、誰かのためにでも、何か発信したいことがある訳でもなく、ただ自分の勉強したこと、考えたことのアウトプットに使います。

若しかしたら途中で、発信したい事が産まれるかも知れませんが、そのときはその時です。臨機応変に投稿してしていきます。

いちおうこんなことを投稿していこうかな、というものをリスト医まとめてみました。

  • デザインのアウトプット
  • 理系のデザインの思考法
  • 実験の話、数値分析
  • 開発の話
  • プログラミングのTips
  • デザインのTips
  • 読んだ本のまとめ
  • 学んだことまとめ

など。

一応軸としては

  • デザイン
  • プログラミング
  • 物理学
  • 心理学
  • 本のまとめ

になってくるかとおもいます。

今回は開始の宣言のみです。