スキップしてメイン コンテンツに移動

ssh公開鍵認証 クライアントの設定


ssh公開鍵認証 クライアントの設定について


以下の手順にて公開鍵認証の設定を行う。

何らかの手順でssh接続するサーバを操作できる必要がある為、

サーバ設置後速やかに設定する方が良い。


sshd_config ファイルの内容
を参考にしてサーバの設定を行ったなら、パスワード認証ができるので
この状態でパスワード認証から公開鍵認証へ切り替える。


まずはじめに、公開鍵と秘密鍵の2つを生成する。
この作業はセキュリティ上クライアント側で行い、秘密鍵は通信経路を通さないようにする。

Windowsであれば生成するプログラムをダウンロードして利用する。
多くの場合、sshクライアントソフトがその機能を持っているのでこれを利用する。
ここではLinuxの場合について記入する。

Linuxで、 ssh-keygen コマンドを用いて作成する。
コマンドは次のようなものがある。
  • ssh-keygen -t dsa
  • ssh-keygen -t rsa
  • ssh-keygen -b <ビット数> -t rsa
  • ssh-keygen -b 256 -t ecdsa
  • ssh-keygen -b 384 -t ecdsa
  • ssh-keygen -b 521 -t ecdsa
  • ssh-keygen -t ed25519

-t オプションは dsa,rsa,ecdsa,ed25519 を指定する。
-b オプションはビット数を指定します。大きい方がセキュリティが高く、処理は重くなる。
ecdsaを指定した場合、上記の3種類しか指定できない。
rsaを指定した場合、デフォルトで2048ビットであり、それ以上の値を指定できる。
dsaとed25519は指定できない

ecdsaやed25519は楕円曲線を用いた暗号であり解読が困難であるため、サーバが対応していればこれらを選択する。
そうでなければ、dsaやrsaを使用する。できればrsaでビット数の大きいものを選択する。
dsaやrsaはフェルマーの小定理を用いた暗号であり、素因数分解を解くことによって解読される。ビット数は少しでも多いほうが解読が困難になる。

ecdsaやed25519は楕円曲線暗号を用いている。
これは、種数1の代数多様体に群構造が定義できることを用いて作られている。どんな集合にも自然に群構造が定義できるわけではないので、ビット数が固定されているのかもしれない。

[参考] SSH-KEYGEN 日本語マニュアルページ




生成されたファイルは  .ssh/ ディレクトリ内に格納される。
拡張子pubのファイルが公開鍵なのでこれをsshサーバへ送る。

sftpを用いる場合
sftp <サーバ名またはIPアドレス>
でログインしファイルを置いてくる。操作に困れば、help (または ?)コマンドで確認する。
scp を用いる場合
scp <送るファイル名> <送信先ユーザ名>@<サーバ名またはIPアドレス>:~/
この場合、送信先ユーザのホームディレクトリに入るが置かれる。

[参考] SFTP 日本語マニュアルページ SCP 日本語マニュアルページ



公開鍵ファイルをサーバー側においたら、ログインをしファイルの中身を
~/.ssh/authorized_keys
に追加する。

コメント

このブログの人気の投稿

Ubuntu で RAIDディスクをマウントする

謎のHDDが見つかった。 データを確認するためWindowsにつなぐもマウントされず。 これは extとかffsの辺りかなと思い、Linux(Ubuntu)に繋ぐ。 しかし、自動マウントされない。 取り敢えずマウントする。 # mount /dev/sdb1 /mnt/disk すると'linux_raid_member'とエラー表示された。 ということで、まずファイルシステムを確認。 # parted -l このコマンドでファイルシステムが表示される。 また、Gparted でも表示される。 そこでRAIDディスクを扱うためにmdadmパッケージをインストール。 # apt install mdadm ネットでは mountコマンドの -t オプションで明示的にファイルシステムを指定するとマウントできると書いてあったのでそれを試すとマウントできた。 # mount -t ext3 /dev/sdb1 /mnt/disk 内容を確認すると不要なデータだったのでデータを削除する。 # shred -v /deb/sdb この処理はとても時間がかかるので普段使わないコンピュータで処理をした。

自動ログイン on Lubuntu

Lubuntu 19.04 の 自動ログインを設定してみた。 グラフィカルログインを自動で行うようにしたいが、 ユーザー設定 の中に自動ログインの設定がない。 そこでコマンドラインから設定してみた。 まず、ログインをするときに使用しているディスプレイマネージャを確認する。 $ cat /etc/X11/default-display-manager /usr/bin/sddm sddm を使っているので、sddm の自動ログインを設定する。 OSは systemd で動いていると設定ファイルがないようなので作成する。 # sddm --example-config > /etc/sddm.conf.d/sddm.conf この設定ファイルに Autologin について書いてあるのでここにユーザ名を入力。 $ head /etc/sddm.conf.d/sddm.conf [Autologin] # Whether sddm should automatically log back into sessions when they exit Relogin=false # Name of session file for autologin session (if empty try last logged in) Session= # Username for autologin session User= ここの User= にユーザ名を書き込み保存後、再起動すると自動でログインされる。

ノートPC ( HP Pavilion TouchSmart 10 ) にXubuntuを入れた話

以前、次のような記事を書いた。 Na01mini に Ubuntu 19.04 をインストールした https://atsreport.blogspot.com/2019/06/na01mini-ubuntu-1904.html このときはハードウェアが32bitであった為32bitのUbuntuをインストールすることになった。 今回は次の64bitマシンをSSD化しXubuntuをインストールした。 スペック HP Pavilion TouchSmart 10-e003AU AMD A4-1200 APU (1.0GHz, 1MB L2キャッシュ) 2GB (2GB×1) (1066MHz,DDR3L SDRAM) オンボード AMD Radeon™ HD 8180 グラフィックス 10.1インチワイドHDブライトビュー・タッチディスプレイ (1366×768/最大1677万色) https://jp.ext.hp.com/lib/products/portables/personal/spec_pdf/pavilion_10e-000_touchSmart_dp.pdf もともとWindows8.1(64bit)であったのをWindows10Home(64bit)にアップグレードしてあったが、とても処理が重く使いみちがなかった。 処理が重い理由の1つがHDDだと思ったのでSSD120GBに交換した。 SSDはパソコン工房で2000円で買えた。厚さ7mmでないと入らない。 LITEON PH6-CE120 Pavilion TouchSmart 10-e003AU の分解については色んなページを参考にした。 ドライバは必須だが、スクレイパーが有るといい。無いと分解できなかったかも。 http://ayati.cocolog-nifty.com/blog/2014/06/pchp-pavilion-1.html https://wakeari.danman.jp/entry/paviion-ts-10-e021au-ssd http://h10032.www1.hp.com/ctg/Manual/c04019490.pdf 交換完了し、最初 FreeBSD12.1 をインストールした。 ところがタッチパネ...