広告 Git サーバー

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

SSHのこと

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

で、SSHって何よ?

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

SSHを使ってファイル転送すると安全ってことです。

SSHで接続する方法は2つ

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

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

で、ロリポから発行される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"]

  • この記事を書いた人

サオリサン

WEB制作のディレクター・制作・運営支援をしてます(フリーランス&会社員)。アクセス解析してサイト改善するのが好き。

-Git, サーバー