TechTweetこんにちは、牧野です。久々の、9か月以上ぶりのブログです。仕事では、ここ1年近くずっっとインフラ関係のことをやっていました。今日は、SSHに関するTIPSを紹介します。特定のサーバーにSSHログインする時に、特定の設定を使用するホームディレクトリ/.ssh/configファイルに設定を書いておくと、特定のサーバーにログインする時に、自動的に特定の設定を使うようにできます。SSHのオプションをサーバーによって分けたい時に入力が楽になります。以下は、xxx.yyy.zzz.aaaでアクセスする時に使う秘密鍵をid_rsa_testに設定しています。ホストキーをチェックしないようにするLinuxからサーバーにSSH接続すると.ssh/known_hostsファイルにサーバーのホストキーが追加されます。新しいサーバーに接続する時は確認されるし、ホストキーがknown_hostsに記載のものと変わっていると接続できません。このホストキーのチェックは、sshのオプションで無効にできます。server-nameこれでknown_hostsを気にせずにアクセスできます。バッチ処理のシェルスクリプト等でパスフレーズ無し秘密鍵を使用しているような時、役立つことがあるかもしれません。3.SSHでログインした時に、指定したコマンドしか実行できないようにする公開鍵認証の場合、サーバーにログインした時に特定のコマンドだけ実行して終了させることができます。次のように記述します。(その人の公開鍵データ)...これで、鍵ごとに特定のコマンドを実行できます。以下のようなスクリプトを設置して設定すると、ユーザーがSSHログインした記録を全部残しておくことができます。4.最初に使用した秘密鍵を使って別のサーバーにログインするエージェントフォワード(エージェント転送)することで、一つ目のサーバーにログインした後に別のサーバーにログインする際、一つ目のサーバーにログインするのに使用している秘密鍵を使用することができます。1つ目のサーバーに秘密鍵ファイルを置く必要はありません。エージェントフォワードを使うためには、クライアント側で準備が必要です。○puttyの場合pageantプログラムを使います。pageantはputtyと同じフォルダにインストールされているので、これを起動して秘密鍵を登録します。「SSH」->「認証」の「エージェントフォワーディングを認める」をチェックしてから、サーバーにログインします。○Linuxの場合ssh-agentコマンドを実行して出力されるスクリプトを実行後、ssh-addコマンドで秘密鍵をエージェントに追加します。[秘密鍵ファイルのパス]エージェントフォワードを有効にするには、-Aオプションをつけます。yesを書いておきます。エージェントフォワードを使えるようにすると、2台目以降のサーバーにログインする時にパスフレーズ入力する必要がなくなります。各サーバーには秘密鍵を設置せずに済みます。踏み台サーバーを経由して別のサーバーにログインするsshのProxyCommandオプションを使うとできます。%p'1と組み合わせて、.ssh/configに次のように書いておくと、オプションを入力せずに済みます。指定したサーバーのポート番号に接続できます。sshで踏み台サーバーにログインし、ncコマンドを実行する形になります。以上、SSHのTIPSでした。当面は、インフラネタを書いていこうと思います。byスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。