harumaki.net

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

GNU/Linux network ssh

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

投稿日:2005年11月22日

Last Updated on 2022年3月13日 by かんりにん

 
[pukiwiki]
 

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

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

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
$
[/pukiwiki]
 

-GNU/Linux, network, ssh
-, ,

執筆者:


comment

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

CAPTCHA


関連記事

nagiosgraph/4.グラフ設定例/check_cpu.sh

[pukiwiki] **nagiosgraphへのグラフ設定追加例[check_cpu.sh] [#s162aecf] nagios exchangeから取得したcheck_cpu.shの実行結果を …

no image

haproxyを試す 3.SSLリバースプロキシを設定してみる

  HAProxyにてSSLリバースプロキシを設定してみるテスト。 設定環境はAWS EC2にてRightImageのCentOS6を使用しました。 HTTP/80については設定済みとなっている前提で …

no image

script/曜日の判定(if文とdateオプション)

曜日を判定する勉強用スクリプト。 dateコマンドのオプション”%u”で曜日を数値で出力し、あらかじめ決めた曜日に合致するか否かで メッセージを切り替える。 デフォルト曜日は日 …

no image

サーバー構築をする時のミクロな悩み:環境変数

※RedHat、CentOSでのbash環境での話です。 サーバー構築をする時、定石として一番悩ましいのが”環境変数をどこに明示するか?”なのですが いろいろ悩んだ末の結論とし …

no image

mysql sshトンネリングでの暗号化接続をさくっと試す

リモートホストのMySQLサーバーへアクセスする際に、クライアント – サーバー間の通信を暗号化する方法をかるく検証。 (MySQLのDBスキーマやテーブルの暗号化ではない) 方法としては …