Navigation : Top / ssh

ssh

sshの設定

公開鍵暗号を使用したリモートアクセス.


sshdの設定(サーバー側)

sshdの設定

サーバー側sshd設定をする. sshdの設定は/etc/ssh/sshd_configを編集して行う.

PermitRootLogin no        : sshでrootのログインを許可するかどうかを指定
PasswordAuthentication no : Linuxのパスワード認証を許可するかを指定
X11Forwarding no X11      : X11で転送を許可するかを指定

PasswordAuthentication?はとりあえずyesで設定が全て終わった後にnoとする

設定が完了したら、sshdを再起動

$ su -
# /etc/rc.d/init.d/sshd restart

hosts.allowの変更

サーバーのhosts.allowを変更

例)sshd: 192.168.0. 

LinuxからのSSH接続の設定(公開鍵)

クライアントの鍵を生成

最初にクライアント側の秘密鍵と公開鍵を生成する. 一般ユーザーでserverへログインし,rsa鍵を生成する.

ssh-keygen -t rsa
pass phaseはlogin passwordと違うモノの方がベター

dsa鍵を生成

ssh-keygen -t dsa
  • Windowsで使う場合には、puttygen.exeでloadしてsaveすること。

サーバーへ公開鍵を転送

公開鍵をサーバーへ転送します.SERVER_NAMEは転送先サーバーを指定します.

scp ~/.ssh/id_rsa.pub SERVER_NAME:~/.ssh/authorized_keys
scp ~/.ssh/id_dsa.pub SERVER_NAME:~/.ssh/authorized_keys2

転送のたびにパスワードを聞いてきます.Linuxのログイン時に使うパスワードを入力してください.

仕上げ

サーバー側のパスワード認証を許可しないように設定. /etc/ssh/sshd_configの「PasswordAuthentication?」を「no」に変えた後,sshdを再起動.

Linuxからサーバーへssh接続

sshを使ってサーバーへ接続するには

ssh SERVER_NAME

Pass phraseを聞かれますので、鍵生成時に指定したパスフレーズを入力してください。

X-Windows Systemを使用する場合は

ssh -X SERVER_NAME

とする.local側で

xhost + aaa.bbb.ccc.ddd

とremoteのIPを指定しておく.

proxyを通したssh接続

firewallの内側からproxyを通って外に出たい場合,はconnectを利用する.

インストール

gcc connect.c -o connect
cp connect /usr/local/bin/

使用方法

.sshにconfigファイルを作成
Host *.local.net
    ProxyCommand /usr/local/bin/connect %h %p
Host *
    ProxyCommand /usr/local/bin/connect -H proxy.local.net:port %h %p

Linux: パスワードなしのsshログイン設定(内部サーバーのみ)

  1. 接続のたびにパスワードを要求されるとmpich2の接続が安定しない(bootできない)ため,ssh接続にパスワードを不要にする必要がある.
  2. clientに入ってrsa方式の鍵を作成する.
    ssh-keygen -t rsa
    保存場所,パスフレーズを聞かれるが全てEnter
  3. 作成された公開鍵をauthorized_keysに追加してパーミッションを変更する.
    cat .ssh/id_rsa.pub >> .ssh/authorized_keys
    chmod 600 .ssh/authorized_keys
  4. serverに戻ってssh-agentに秘密鍵を登録する.
    eval `ssh-agent`   『`』は『shift+@』
    ssh-add .ssh/id_rsa
    eval `ssh-agent -k`
    sshでパスワードなしでログインできるか確認.

WindowsからのサーバーへSSH接続(PuTTYを使用)

PuTTYの設定

  • PuTTYの設定
  1. putty-0.XX-installer.exeとputtykjpbinを解凍する。
  2. puttykjpbinの中身をputty-0.XX-installer.exeにより作成された Folderに移す。

公開鍵の作成

  1. puttygen.exeを起動
  2. "generate"ボタンを押す(プログレスバーの下の空白のエリアでマウスをぐりぐりと動かすことにより乱数を生成)
  3. "Key passphrase"に、これらのキーペアに対するパスフレーズを入力
    • ログインパスワードとは別のものを使用すること
  4. "Save public key"および"Save private key"でそれぞれ公開鍵と秘密鍵をファイルに保存
    • id_rsa.pub(公開鍵)
    • id_rsa.ppk(秘密鍵)

公開鍵の転送

作成した公開鍵を接続先に転送する。

C:\Program Files\putty>pscp id_rsa.pub server1:.ssh/id_rsa.pub

サーバーに接続

mkdir .ssh
chmod 700 .ssh
mv id_rsa.pub .ssh
cat ../ssh/id_rsa.pub >> authorized_keys2

PuTTYの設定

PuTTYの 設定画面の"接続”、”SSH"、”認証”で認証のためのプライベートキーファイルに先ほど作成したid_dsa.PPKを登録

Windowsからのファイル転送(WinSCPを使用)

入手

設定

暗号鍵・公開鍵の位置を指定するだけ.

Link