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 user@example
$

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
er@example_nopass

3)接続

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

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



-GNU/Linux, network, ssh
-, ,

執筆者:


comment

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

CAPTCHA


関連記事

nagios​/plugin​/SNMP​/ロードアベレージ監視

&topicpath; ロードアベレージ監視[check_snmp_load.pl] スクリプト スクリプト実行時の書式 ログ コンフィグ マップ ロードアベレージ監視[check_snmp_ …

[メモ][juniper] SRX(JunOS) FTPS設定追加

社内から外部のFTPサービスへ接続する際、通常のFTPでは問題ないものの、FTPS(FTP Over SSL/TLS)で接続しようとしたところ、認証が通ったところで応答がなくなり、そのままタイムアウト …

nagiosgraph​/メモ:nagiosグラフで出力されるレポートについて

nagiosグラフで出力されるレポートについて 1)自動で出力されるグラフについて 2)グラフの拡大・縮小について 3)pnp4nagiosとの違いについて nagiosグラフで出力されるレポートにつ …

YAMAHA RTX1200でIPsec VPN設定(クライアント接続)ドキュメント1.ルーター編

わりと久々にRTX1200でIPsec VPNを設定したのでメモしました。 今回はPPPoEするルーターとVPNのプロファイルを設定するルーターが別のマシン、 対向側がルーターではなくVPNクライアン …

no image

[juniper] SRX(JunOS) ルーティング不具合修正(非対称ルートへの対応)

SSGシリーズからSRX220にリプレイスを行った際に、VPNを経由したリモートオフィスとのLAN通信がうまくいかない事象が起きたので、トラブルシュート。 ・社内LANにおいてゲートウェイが複数ある …