Yabu.log

ITなどの雑記

ubuntuのssh serverに公開鍵認証でログインする

前職ではsshを本格的に使ったことがなく、せいぜい自宅でgithubに公開鍵をupした程度しか使ってなかったのでサーバー側、クライアント側を一通り動かして見ました。

サーバー側のsshの設定

設定ファイルは/etc/ssh/sshd_configなのでコレを編集して様々な設定を適用可能

  • 待受portを22から変更
  • ポートフォワーディングを禁止する
  • パスワード認証を無効化する(常に事前に登録した公開鍵を使う)

※todo:セキュリティ的にましな設定を調べてまとめる

変更を加えたらリスタートしましょう

sudo systemctl restart sshd.service

接続

パスワードを使って接続

クライアント側で実行するとuserのパスワードを聞かれ、ログインできます。

ssh <user name>@<server name(or ip)>

RSAで認証して接続

クライアント側でRSAの鍵を作る

$ ssh-keygen -t rsa

クライアント側のPCから鍵をサーバーに送る

ssh-copy-id -i <key file> <user name>@<server name( or ip)>

クライアント側から秘密鍵を指定して接続

ssh -i <private key file> <user name>@<server name(or ip)>

note複数の鍵がある場合、

~/.ssh/configファイルに設定を書いておくと実行するときにオプションの指定などをすべて省略できるので便利。(ssh <接続名>だけで接続できる)

Host  <接続名1>
  HOSTname <server name (or ip)>
  port <port no>
  User <user name>
  IdentityFile <key file>

Host <接続名2>
  ...(以下略)

切断

exitコマンドで切断可能