harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

GNU/Linux network ssh

ssh バッチ処理用認証鍵の設定

投稿日:2005年11月22日

バッチ処理用認証鍵の設定

【参照サイト】
お世話になってます。

OpenSSH 日本語マニュアルページ
http://www.unixuser.org/~euske/doc/openssh/jman/sshd.html

ssh/scpを利用してバッチ処理を行う場合に合わせて
パスフレーズ無しの秘密鍵/公開鍵ペアを生成し、実行できる作業を限定する設定を追加。

1)パスフレーズなし秘密鍵/公開鍵の作成

元々秘密鍵/公開鍵がある場合は名前を変更する。
ssh/scpでパスなし秘密鍵を使用する際はオプションで鍵ファイルを指定する。

$ ssh-keygen -d
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa): /home/user/.ssh/id_dsa.nopass
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.nopass.
Your public key has been saved in /home/user/.ssh/id_dsa.nopass.pub.
The key fingerprint is:
f3:a7:24:64:d6:b3:8e:4b:c8:4d:44:98:e0:2b:a3:3c [email protected]
$

2)公開鍵をリモートホストへ登録

作成した公開鍵をリモートホストの~/.ssh/authorized_keyへ追記する。
その際、以下のオプションを公開鍵の最初へ追加すると
ログイン後の作業を制限できる。
特にcommand指定は、記述された作業以外は実行できなくなるので
バッチ処理には有効。

パスフレーズ無しでの接続をテストした後で追記する。

【authorized_keysへのオプション追加】

OpenSSH日本語マニュアルから抜粋。詳細は以下URLを参照のこと。
http://www.unixuser.org/~euske/doc/openssh/jman/sshd.html

  • from="pattern-list"
    公開鍵認証に加えて、クライアントのホストをpattern-listに沿ってチェックする。
    ホスト名、ドメイン、IPアドレスなどを指定可能。
    ※鍵ベースのTCPwrapperのような活用も可能。
  • command="COMMAND"
    認証にこの鍵が使われたときは必ずここで指定されたコマンドが実行されるようになります。
    ユーザが (訳注: クライアント側で) 指定したコマンドは無視されます。
  • no-port-forwarding
    TCP/IP 転送が禁止される。
  • no-X11-forwarding
    X11 転送が禁止される。
  • no-agent-forwarding
    認証エージェントの転送が禁止される。
  • no-pty
    端末の割り当てを禁止します (仮想端末の割り当てが失敗するようになります)。
    つまり指定した秘密鍵(パスなし)を使用してsshでの接続が出来なくなる。

【記述例】

ssh-dss AAA…で始まる公開鍵の前に記述する。

no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-dss AAAAB3N
zaC1kc3M*****AIvhYqy2V+93pzB2EVZhOEdROwIylfmeAiEGbwLmXmq0t4XYhbRQStWmzqy
uscZnuZ3ekvlP4*******w5M23lvoyeuQ5dtB3y1KNxEzS8NwQSVp5Q7P7Byfx3oIfTWwwW4
ovhMJBARQ35iyqhRb8nHt*******WIcC7L77FBs27AAAAFQDTk6Zkte5rP3BKM+sTjR/JXet
n6QAAAIB0CKmXMcOK8D6yBrYr7ud*******Qx**ZI6t1T67wXyNCmkMPVStOTZjZ7PY4nRJa
2hyVWiQxB0WbQ2smD11RHlAFwq/fH78WKN0F4mm*********18Ovs+069rynd/ZeTpjsSbNn
yWqasTUrDa/xB0Ja4LPdCYhfkqwjY2y+iLgAAAIEAhg3Tvu5iB*********xkjrsnAK0lDvJ
8d2tMzf72uF+2bPZ1nyT9NJPNDMKGYxN2rsexdbWmIkajlps0//9vDz/EJ2vmPKf*****/GU
HM+dVjiVgGHg9R36UxAZK/LwgY8gd0JjTuCBzcF*************1trYkoMa4QKtUzOw= us
[email protected]_nopass

3)接続

パスフレーズ無しの秘密鍵を使用する場合はオプションで指定する。
オプションはssh、scpともに共通。

  • ssh
    • オプション-iの場合
      $ ssh -i /home/user/.ssh/id_dsa.nopass [email protected]
      Last login: Tue Nov 22 14:06:58 2005 from 111-222-234-***.hogehoge.com
      $
    • オプション-oの場合
      $ ssh -oIdentityFile=/home/user/.ssh/id_dsa.nopass [email protected]
      Last login: Tue Nov 22 14:06:58 2005 from 111-222-234-***.hogehoge.com
      $
  • scp
    • オプション-iの場合
      $ scp -i ~/.ssh/id_dsa.nopass [email protected]:/h
      ome/user/test.txt ./
      test.txt                                      100%    6    22.7KB/s   00:00
      $
    • オプション-oの場合
      $ scp -oIdentityFile=~/.ssh/id_dsa.nopass [email protected]:/h
      ome/user/test.txt ./
      test.txt                                      100%    6    22.7KB/s   00:00
      $



-GNU/Linux, network, ssh
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

no image

postfixadminでのメールサーバー構築

メールサーバ構築テスト4.postfixadmin † 2006-03-01 会社のメールサーバーの再構築のための検証として、いろいろと。 メールサーバ構築テスト4.postfixadm …

no image

メモ:lsコマンドでタイムスタンプの表記を変える

lsコマンドにてタイムスタンプの表記を変える場合は、オプション”-l”との併用で”–time-style”をつけ 各種表記やdateコマンド …

nagios NRPEインストール

&topicpath; NRPEインストールログ 【1.サーバー側インストール】 インストール インストール確認 サーバー側初期設定 【2.クライアント側インストール】 1)NRPEインストー …

no image

[Juniper]SRX ssh公開鍵認証でログイン

LinuxサーバーへdailyでSRXのコンフィグをバックアップするべく、tftpサーバーを設定しようと思ったら どうやらtftpらしきものがないので、sshでリモートコマンドを使ってコンフィグをとっ …

no image

haproxyを試す 5.コマンドライン操作

先日のステータス出力を検証した流れで、haproxyのコマンドライン操作について試したことを抜粋。 参考:またまたお世話になっております! Ver1.5 マニュアル 9.2 Unix Socket c …