実現したい事は下記になります
社内から踏み台のAサーバに鍵認証でsshアクセスし、その鍵を使い、本番Bサーバにsshログインさせたい
また、WinSCPなどのFTPツールでファイル転送する際に踏み台から自動でBサーバまでトンネリングさせたい
この時、サーバアカウント作成時の鍵作成はどのように行えばよろしいのでしょうか
大変お手数ですが、AサーバとBサーバのアカウント作成時の鍵作成方法をご教示頂けますと幸いです
よろしくお願い致します
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
SSH認証エージェントをつかって、秘密鍵を管理して多段 SSH するのであれば、通常のSSH と同じで、ローカル側のクライアントに SSH鍵ペアを作成するだけで、OK です。(当然ですが、サーバにログインするためには、ローカルで作成した公開鍵を 中継サーバ、本番サーバに登録しておく必要はあります。)
ログイン時に認証エージェントを自動起動する、認証エージェントの転送を許可する等の設定が必要ですが、中継サーバに秘密鍵を置いて無くても、認証エージェントがローカルの秘密鍵を利用して、中継サーバを経由して本番サーバにログイン可能になります。
なお、~/.ssh/config で、proxycommand の設定をしておけば、ローカルから中継サーバに ssh コマンドで接続すると目的のサーバに自動的に多段SSHで接続され、本番サーバにつながったように見せかけることも可能です。
(参考)
多段SSH に関しては、以下のWebサイトが参考になると思います。
ポートフォワードに関しては、以下が参考になると思います。
投稿2017/09/08 01:12
編集2017/09/08 01:14総合スコア25234
0
ベストアンサー
社内から踏み台のAサーバに鍵認証でsshアクセスし、その鍵を使い、本番Bサーバにsshログインさせたい
普通セキュリティの観点からAサーバー、Bサーバーで別々のSSHキー・公開キーのセットを作成します。下記は別々のSSHキーを作成するものとして進めます。
Aサーバー上でSSH鍵作成
AサーバーにSSHログインしてから下記コマンドで秘密キーを新規作成します。
bash
1mkdir ~/.ssh 2ssh-keygen -t rsa -b 4096 -C 'メールアドレス or ユーザー名@ホスト名など' 3 4#秘密キーのファイルパスを聞いてくるのでそのまま[ENTER]を押す 5#パスフレーズを聞かれるので、パスフレーズを入力(←何か必ず指定してください)
以上でAサーバー上での秘密キー作成は完了です。
この秘密キーをご自分のPC上にダウンロード
しておきます。
次に、公開キーをサーバーAに設定して実際に秘密キーを使ってログインできるようにします。
bash
1cd ~/.ssh 2cat .id_rsa.pub >> .authorized_keys
次にAサーバーに作成した秘密キーをつかって実際にSSHログインできるか確認します。
bash
1ssh localhost 2 3# sshの~/.ssh/known_hostsに追加するか聞かれるので[yes]を入力
上記で、Aサーバー上でローカルSSHログインできない場合は、/home/ログインユーザー
のパーミッションを確認してみてください。755
よりも甘く設定している場合(775, 777など)はログインに失敗します。
WinSCPの場合はPuttyGenで上記ダウンロードしたAサーバーの秘密キーをPutty形式に変換します。
- グローバルメニューの[Conversions > import key]を選択
- Aサーバーの秘密キーファイルを選択
- [save private key]をクリックしてファイル名を設定して保存(拡張子は.ppk)
Bサーバー上でSSH鍵作成
Bサーバー上にSSHでログインして、上記Aサーバーで行ったことと同様のことをBサーバー上でも行います。
WinSCP上の設定
- 新しいサイト
- 目的のログイン先のBサーバーの設定を下記のように入力
項目 | 値(例) |
---|---|
ホスト名 | BサーバーのIPアドレス(or ホスト名) |
ポート番号 | 22 |
ユーザー名 | BサーバーのSSHログインユーザー名 |
パスワード | (空欄) |
次に[設定]をクリックして設定ウィンドウを開きます。
- サイドメニュー[SSH>認証]を開く
- 認証条件>秘密鍵にBサーバーの秘密キーを設定(
PuttyGen
で.ppk
形式に変換したファイル) - サイドメニュー[接続>トンネル]を開く
- Aサーバーの設定を下記のように入力
項目 | 値(例) |
---|---|
ホスト名 | AサーバーのIPアドレス(or ホスト名) |
ポート番号 | 22 |
ユーザー名 | AサーバーのSSHログインユーザー名 |
パスワード | (空欄) |
ローカルトンネルポート | 自動選択(初期値のまま) |
トンネル認証パラメーター>秘密鍵 | Aサーバーの秘密キーを設定(PuttyGen で.ppk 形式に変換したファイル) |
[OK]ボタンを押して[設定]ウィンドウを閉じます。そして、[保存]ボタンを押してすべて保存します。
以上で完了です。
※Pagent
にSSHキーを登録しておけばパスフレーズを毎回入力する必要がなくなります。
投稿2017/09/08 01:21
総合スコア1652
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。