sshは鍵認証を使えばパスワード無しで接続できて管理が楽になる

更新:2019.2.23 views:1522

目次

はじめに

sshでサーバに鍵認証を使って接続する方法を紹介します。 鍵認証を使えばパスワードを入力する必要もなくなりますし、パスワードをハックされて他人に接続されてしまう危険性も下がります。

公開鍵と秘密鍵の作成

$ ssh-keygen -t rsa

コマンドを実行すると2つのファイルが作成されます。

秘密鍵はローカルの.sshディレクトリに格納してください。 公開鍵は接続先のサーバのアップします。

公開鍵のアップ

scpコマンドを使って公開鍵を接続先のサーバへアップします。

$ scp ~/.ssh/id_rsa.pub user@host:/path/to/uploadfile

接続設定

接続先のサーバに必要なディレクトリとファイルになります。

/home/user/.ssh
/home/user/.ssh/authorized_keys

それぞれの権限設定は下記のようになります。

chmod 700 /home/user/.ssh
chmod 600 /home/user/.ssh/authorized_keys

authorized_keysファイルの中に、公開鍵の内容を記載します。 記載と言っても、アプロードした公開鍵ファイルの内容をcatして追記するだけです。

cat /path/to/id_rsa.pub >> home/user/.ssh/authorized_keys

使用しているユーザによっては、権限がないかもしれません。 その場合は、sudoを使って実行しましょう。

sudo cat /path/to/id_rsa.pub >> home/user/.ssh/authorized_keys

ここまでの設定で、SSH鍵認証で接続先へログインできるようになりますが、configを設定しておくと便利になります。

configを設定する

下記のファイルに接続先の設定をすることで、ssh 接続先の形でコマンドを実行するだけで接続することができるようになります。

/home/user/.ssh/config

ファイルを編集していきます。ファイルを編集するエディタは普段使っているものでOKです。 viを使って編集します。

vi /home/user/.ssh/config

内容は下記を環境に合わせて変更してください。

Host 接続名
    HostName ホスト名
    User ユーザ名
    Port ポート番号
    IdentityFile ~/.ssh/id_rsa.pub

configファイルは下記のように複数記載することができるので、管理が楽になります。

Host 接続名1
    HostName ホスト名1
    User ユーザ名1
    Port ポート番号
    IdentityFile ~/.ssh/id_rsa.pub

Host 接続名2
    HostName ホスト名2
    User ユーザ名2
    Port ポート番号
    IdentityFile ~/.ssh/id_rsa.pub

接続先ごとに別のキーで管理する場合は、ssh-keygen -t rsaコマンドを使って接続先ごとの秘密鍵と公開鍵を生成してIdentityFileに指定してください。

configファイルを使って接続してみる

configの設定を作成したら下記のコマンドで実際に接続できるか試して、接続できればOKです。

$ ssh 接続名

パスワードなしの鍵認証にしておけば、パスワードを覚えておく必要も無いですし、configファイルを見れば接続さきなんだっけというのも減りますので便利です。

公開鍵は誰かに渡したり、誰でも持っていけるような場所に置かないようにしましょう。

鍵と接続先の情報があれば接続できてしまいますので。

Linux関連記事



Linux tips
2008/05/24
 4 views







これからブログなどのサイトを作りたいと思っている人は、お名前.comでのドメイン取得がオススメです。

■□━━ 急げ、ドメインは早い者勝ち! ━━□■
     ■お名前.com

アマゾンの2019年本屋大賞一覧

そして、バトンは渡された
ひと
ベルリンは晴れているか
熱帯
ある男

楽天市場のおすすめ商品一覧

お金2.0 新しい経済のルールと生き方 [ 佐藤航陽 ]
全部レンチン!やせるおかず 作りおき 時短、手間なし、失敗なし
「読む力」と「地頭力」がいっきに身につく 東大読書 [ 西岡 壱誠 ]