【Linux】公開鍵認証方式の使い方【ssh接続】

当ページのリンクには広告が含まれています。
  • URLをコピーしました!

ssh接続での認証方式は

  • パスワード認証方式
  • 公開鍵認証方式

があります。

パスワード認証方式では、ユーザーIDとパスワードによって接続されてしまうため、安全性の低い接続方法と考えられます。

ブルートフォースアタック(総当たり攻撃)のように、パスワードが特定されてしまうおそれがあるためです。

今回はより安全性が高い認証方法として公開鍵認証方式での接続方法をご紹介します。

目次

パスワード認証方式でのssh接続

パスワード認証で接続する場合にはssh "ユーザーID"@"接続先のIPアドレス" を入力します。

ssh username@111.222.33.44

パスワードが求められるので、パスワードを入力するとログインできます。

始めて接続する場合には

Are you sure you want to continue connecting (yes/no)?

と求められるのでyesとします。

公開鍵認証方式によるssh接続

公開鍵認証方式とは、あらかじめ接続のためのキーを作成し、それを使って認証する方式です。鍵には

  • 秘密鍵
  • 公開鍵

の二種類があり、クライアント側に「秘密鍵」を、サーバー側に「公開鍵」を設置します

公開鍵認証でのssh接続方法

ssh -i keyfile username@111.222.33.44

引数に、-iとして秘密鍵のファイルを指定します。

あとは、同じようにユーザー名と接続先を記載します。

鍵の作り方

鍵はssh-keygenで作れます。

ssh-keygen

ホームディレクトリの~/.sshディレクトリに

  • id_rsa(秘密鍵)
  • id_rsa.pub(公開鍵)

が作成されます。

公開鍵は、サーバー内の~/.ssh/authorized_keysに転記します。

公開鍵の設置

公開鍵の転送はscp [クライアントのファイルパス] [ユーザー名@IPアドレス:ファイルの場所] とします。

scp .ssh/id_rsa.pub username@server:~/.ssh

サーバーに入り、authorized_keysを作成します。

$ cat id_rsa.pub >> authorized_keys

不要になった公開鍵[id_rsa.pub]は削除します。

rm id_rsa.pub

これで公開鍵の設置が出来ました。公開鍵認証で接続できるか試してみます。

ssh -i id_rsa username@server

接続できればOKです。もし接続できなければ権限設定を確認してください。

権限設定の確認(接続できない場合)

$ chmod 755 ~
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

パスワード認証の無効

パスワード認証を無効化する場合には、~/etc/ssh/ssh_configから

#   PasswordAuthentication yes
↓
PasswordAuthentication no

あわせてrootログインを無効にする場合には

PermitRootLogin yes
↓
PermitRootLogin no

に変更する。

クラウド環境で勉強するなら

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次