sshで出てくるauthorised_keysとknown_hosts

sshを使っているとファイルが2つ出てくるので整理

クライアント ssh user@sample.co.jp →→ サーバー
としたとき

sshでは秘密鍵(id_rsaとか)がクライアント、
公開鍵(id_rsa.pubとか)がサーバーにあります

  1. authorized_keys

サーバー側で使用
公開鍵を登録しておくことで、クライアント(秘密鍵)からの接続を許します

  1. known_hosts

クライアント側で使用
サーバーの指紋(フィンガープリント)が記録されます
サーバー名と公開鍵が登録され、組み合わせが違ったりすると
警告をだしてくれます

初回接続時には必ず警告がでます

Vagrantを使っている時のssh秘密鍵使い回しではまったメモ

Vagrantで立ち上げたOS上でも、ホストマシンのsshの共通鍵(id_rsa)
を使いまわそうと


(ホストマシン)
# vagrantのフォルダへ移動
cd ~/vagrant/precise32/
ln -s ~/.ssh/id_rsa id_rsa

として
# vagrant ssh


(vagrantのOS上)
# vi ~/.ssh/config
Host heroku.com
 User git
 port 22
 Hostname heroku.com
 IdentityFile /vagrant/id_rsa
 TCPKeepAlive yes
 IdentitiesOnly yes

とかしたけど、全然つながらない…

普通に、ゲストマシンからはホストマシンの~/.sshとか見れないからあたりまえ

コピーして使いまわしました


(ホストマシン)
# vagrantのフォルダへ移動
cd ~/vagrant/precise32/
cp -a ~/.ssh/id_rsa id_rsa

コピーして散乱させたくないので、sshのキー管理のベストプラクティスが知りたいところです
使いまわすなってとこでしょうか..

bundle updateとbundle installの使い分け – ruby

Gemfile.lockには実際インストールされたgemが記録されています

bundle update
 Gemfile.lockを無視してgemをインストール

bundle install
 Gemfile.lockを見てgemをインストール
 Gemfileに変更があればgemをインストールしてGemfile.lockを更新

例えばGemfileに新しく’jquery-rails’を追記して


(Gemfile)
gem 'rails', '>= 4.0.5'
...
gem 'jquery-rails'

うっかり bundle update しちゃうと
railsもバージョンアップしてしまいます
いろんなものが動かなくなったり…

Gemfileにバージョン指定して書いておけばその点は安心でしょうか
(バージョン書かないのは最新版が入る)


(Gemfile)
gem 'rails', '4.0.5'
gem 'jquery-rails', '3.0.4'

というふうに