先日Gitするべく、ローカル&リモートと環境を整えました。
上手にまとめられる自信がないほど、つまづく点が多すぎまして(苦笑)。
まずは何をするにも必要な、リモート作業する際のSSHのログイン。これの入力が毎回面倒だったのでまとめました。これで次のSSHは大丈夫ー♪
で、SSHって何よ?
Secure Shell(セキュアシェル、SSH)は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
wikipediaより引用
SSHを使ってファイル転送すると安全ってことです。
SSHで接続する方法は2つ
ロリポップのチカッパプランだと、SSHが使用できます。
しかし、アカウント名は長く、パスワードも任意のものに変更が出来ないので覚えられません。
で、ロリポから発行されるSSHアカウントは使わず(初回設定時だけ使います)、ローカル側で認証用の鍵(公開鍵といいます)を作成して、その鍵をサーバー側に保存してしまいます。
設定方法
ちょっとワンポイント★覚えておくと便利なコマンド!
[shell] $ ls -la //今いる階層のファイル・フォルダの一覧参照 $ pwd //今いる階層を表示 $ cd ~/階層 //階層に移動 [/shell]
ローカルで、公開鍵・秘密鍵を作る
[shell] $ ssh-keygen -t dsa (鍵の保存場所・・・そのままで良ければenter) (設定したいパスワード入力) (↑同じパスワードをもう一度入力) [/shell]
上記で設定した保存場所に、
- id_dsa ・・・秘密鍵
- id_dsa.pub ・・・公開鍵
が出来ています。
サーバーに公開鍵をコピーする
鍵のある階層にcdで移動してから、
[shell] scp -P2222 id_dsa.pub アカウント名@ホスト名:~/ [/shell]
SSHでサーバーにログインし、公開鍵の設定をする
[shell] $ mkdir .ssh //.sshフォルダを作成 $ chmod 700 ~/.ssh //.sshフォルダのパーミッションを700に変更 $ cd .ssh //.sshフォルダに移動 $ cat ../id_dsa.pub >> authorized_keys //authorized_keysファイルに、id_dsa.pubの中身を出力する $ chmod 600 authorized //authorized_keysのパーミッションを600に変更 [/shell]
接続時のアカウント名@ホスト名などを、省略する(ローカルに名前を付けて保存する)
※gitのサーバー登録のやり方を書いてしまっていたので以下編集しました。。。
[shell] $ cd ~/.ssh/ //ローカルの.sshフォルダに移動 $ vi config //これでconfigファイルの修正出来るようになります。 [/shell]
$vi と打つと、編集モードのような状態になります。
- 編集したい時(文字を入力したい時)…i
- 保存して終了したい時…[esc] [:] [w] [q] [!]
最後にenterキーをターンッ!!でOK。
で、入力するべきコトは以下。
[shell] Host lolipop // 接続先の名前をつける User アカウント名 Hostname ホスト名 IdentityFile ~/.ssh/id_dsa 秘密鍵の場所 Port 2222 //ポート番号 [/shell]
接続先の名前は簡単&分かりやすいものがいいです。
完了!
別のターミナルを開いて下記のように入力すると、パスフレーズを聞かれます。ここで入力すればログイン完了!
[shell] $ ssh lolipop //lolipopは、上でつけた名前になります [/shell]
[itemlink post_id="1467"]
[itemlink post_id="1466"]