【Git】今更だけどSSHがよく分からなかったから調べた!~鍵で簡単に♪

  • このエントリーをはてなブックマークに追加
SSHのこと

先日Gitするべく、ローカル&リモートと環境を整えました。
上手にまとめられる自信がないほど、つまづく点が多すぎまして(苦笑)。
まずは何をするにも必要な、リモート作業する際のSSHのログイン。これの入力が毎回面倒だったのでまとめました。これで次のSSHは大丈夫ー♪

で、SSHって何よ?

Secure Shell(セキュアシェル、SSH)は、暗号や認証の技術を利用して、安全にリモートコンピュータと通信するためのプロトコル。パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
wikipediaより引用


SSHを使ってファイル転送すると安全ってことです。詳しくは参考URLをどうぞ。マジかわいくて分かりやすい。
■参考URL SSHってなんだろう?

SSHで接続する方法は2つ

ロリポップのチカッパプランだと、SSHが使用できます。
しかし、アカウント名は長く、パスワードも任意のものに変更が出来ないので覚えられません。

サーバーのSSHを有効にすると

で、ロリポから発行されるSSHアカウントは使わず(初回設定時だけ使います)、ローカル側で認証用の鍵(公開鍵といいます)を作成して、その鍵をサーバー側に保存してしまいます。

公開鍵と秘密鍵でSSH接続

設定方法


ちょっとワンポイント★覚えておくと便利なコマンド!

$ ls -la //今いる階層のファイル・フォルダの一覧参照
$ pwd //今いる階層を表示
$ cd ~/階層 //階層に移動

ローカルで、公開鍵・秘密鍵を作る

$ ssh-keygen -t dsa
(鍵の保存場所・・・そのままで良ければenter)
(設定したいパスワード入力)
(↑同じパスワードをもう一度入力)

上記で設定した保存場所に、
  • id_dsa  ・・・秘密鍵
  • id_dsa.pub ・・・公開鍵
が出来ています。

サーバーに公開鍵をコピーする

鍵のある階層にcdで移動してから、
scp -P2222 id_dsa.pub アカウント名@ホスト名:~/

SSHでサーバーにログインし、公開鍵の設定をする

$ 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に変更

接続時のアカウント名@ホスト名などを、省略する(ローカルに名前を付けて保存する)

※gitのサーバー登録のやり方を書いてしまっていたので以下編集しました。。。
$ cd ~/.ssh/ //ローカルの.sshフォルダに移動
$ vi config //これでconfigファイルの修正出来るようになります。

$vi と打つと、編集モードのような状態になります。
  • 編集したい時(文字を入力したい時)…i
  • 保存して終了したい時…[esc] [:] [w] [q] [!]
最後にenterキーをターンッ!!でOK。
で、入力するべきコトは以下。

Host lolipop // 接続先の名前をつける
 User アカウント名
 Hostname ホスト名
 IdentityFile ~/.ssh/id_dsa 秘密鍵の場所
 Port 2222 //ポート番号
接続先の名前は簡単&分かりやすいものがいいです。

完了!

別のターミナルを開いて下記のように入力すると、パスフレーズを聞かれます。ここで入力すればログイン完了!
$ ssh lolipop //lolipopは、上でつけた名前になります




Leave a Reply

  • (will not be published)

CAPTCHA