ユーザ用ツール

サイト用ツール


serverapps:security:ssh

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
serverapps:security:ssh [2017/05/02 17:28]
hayashi [rootログインの禁止]
serverapps:security:ssh [2024/02/02 12:28] (現在)
hayashi [パスワードログインを禁止]
行 1: 行 1:
 ====== SSH ====== ====== SSH ======
 +===== ポートフォワード =====
 +''~/.ssh/config''
 +<file>
 +Host  __r_target_8080
 +  Hostname      forwarder
 +  User          UserName
 +  LocalForward  8080  target:80
 +</file>
 +
 +これでssh接続をすると''forwarder''に接続されます\\
 +その状態で''localhost:8080''にアクセスすると ''target:80''にフォワードされます
 +
 +なお、''forwarder''のアクセスへ踏み台(basion)が必要な場合は普通に踏み台経由でssh接続するときと同じように記述すればOKです
 +<file>
 +ProxyCommand  ssh -W %h:%p basion
 +</file>
 +
 +===== ssh-agent =====
 +通常は.bashrcなどに記述するが、tcshなども利用しているので以下のスクリプトを作成
 +<code>
 +#!/bin/sh
 +# for ssh-agent
 +cd ~
 +if [ -f ~/.ssh-agent ]; then
 +    . ~/.ssh-agent
 +fi
 +if [ -z "$SSH_AGENT_PID" ] || ! kill -0 $SSH_AGENT_PID; then
 +    /usr/bin/ssh-agent -s > ~/.ssh-agent
 +    . ~/.ssh-agent
 +fi
 +ssh-add -l > /dev/null 2>&1 || ssh-add
 +</code>
 +
 ===== rootログインの禁止 ===== ===== rootログインの禁止 =====
 CentOSなどはデフォルトで許可されているので注意 CentOSなどはデフォルトで許可されているので注意
行 9: 行 42:
  
 ==== 認証用のKeyの作成 ==== ==== 認証用のKeyの作成 ====
-認証用の秘密鍵と公開鍵のペアが作成される+認証用の秘密鍵と公開鍵のペアが作成される\\ 
 +**安全性からed25519を推奨します** 2017.05.22((ecdsaを非推奨とするため削除しました)) 
   $ cd   $ cd
 +  $ ssh-keygen -t ed25519
 +  OR
   $ ssh-keygen -t rsa -b 4096    $ ssh-keygen -t rsa -b 4096 
 +  OR
 +  $ ssh-keygen -t rsa -b 4096 -N "passphrase" -f /path/to/keyfile -C comment
 +
 +利用可能な鍵証明書一覧
 +  $ ssh -Q key-cert
 +
 +利用可能な鍵一覧
 +  $ ssh -Q key
 +
 +=== 暗号強度の確認 ===
 +
 +  $ ssh-keygen -l -f ~/.ssh/id_ed25519.pub
 +  256 SHA256:71.......................................nQ user@host (ED25519)
 +  $ ssh-keygen -l -f ~/.ssh/id_ecdsa.pub
 +  384 SHA256:6z7QX....................................Ew user@host (ECDSA)
 +  $ ssh-keygen -l -f ~/.ssh/id_rsa.pub
 +  4096 SHA256:/p5W9....................................IQ user@host (RSA)
 +
 +
 ==== 公開鍵をリモートホストのauthorized_keysに追加 ==== ==== 公開鍵をリモートホストのauthorized_keysに追加 ====
  
行 19: 行 75:
 とかやってディレクトリを作っておく。 とかやってディレクトリを作っておく。
  
-CentOSならssh-copy-idが入っているのでそちらを使うも良し。FreeBSDはPortsのsecurity/ssh-copy-idでインストールしても良いのですがpkgngにはありません。((2014/12/05現在))+CentOSならssh-copy-idが入っているのでそちらを使うも良し。\\ 
 +FreeBSDにも入りました。((2017.05.22:10.3で確認))\\ 
 +<del>FreeBSDはPortsのsecurity/ssh-copy-idでインストールしても良いのですがpkgngにはありません</del>。((2014/12/05現在))
   $ ssh-copy-id -i .ssh/id_rsa.pub user@remote_host   $ ssh-copy-id -i .ssh/id_rsa.pub user@remote_host
  
 なお、authorized_keysはPermissionを **600**にしておかないとLogin に失敗するので注意 なお、authorized_keysはPermissionを **600**にしておかないとLogin に失敗するので注意
 ==== パスワードログインを禁止 ==== ==== パスワードログインを禁止 ====
-  # cat /etc/ssh/ssh_config+  # cat /etc/ssh/sshd_config
   ......   ......
   PasswordAuthentication no   PasswordAuthentication no
   ChallengeResponseAuthentication no   ChallengeResponseAuthentication no
-  UsePAM no+
  
 FreeBSDは標準でPasswordAuthentication を禁止しているがChallengeResponseAuthentication は許可されているのでこちらも必ず「No」にしておく。 FreeBSDは標準でPasswordAuthentication を禁止しているがChallengeResponseAuthentication は許可されているのでこちらも必ず「No」にしておく。
 +
 +Ubuntuで「/etc/ssh/sshd_config.d/50-cloud-init.conf」に以下の設定があったためこちらも禁止にする
 +
 +<file /etc/ssh/sshd_config.d/50-cloud-init.conf>
 +#PasswordAuthentication yes
 +PasswordAuthentication no
 +</file>
 ==== 公開鍵認証をON ==== ==== 公開鍵認証をON ====
  
行 60: 行 125:
  
   ssh-keygen -lf ~/.ssh/id_rsa.pub   ssh-keygen -lf ~/.ssh/id_rsa.pub
 +
 +===== knownhostの更新 =====
 +
 +  host="target-hostname"
 +  ssh-keygen -R $host
 +  ssh-keyscan -H $host >> ~/.ssh/known_hosts
serverapps/security/ssh.1493713730.txt.gz · 最終更新: 2017/05/02 17:28 by hayashi