SSH/SSL
暗号化・復号化
・共通鍵方式 暗号化と復号化に同じ共通鍵を使う
代表的な共通鍵暗号は、DES,AESなどがある
・公開鍵方式 公開鍵で暗号化し、秘密鍵で復号化する
公開鍵暗号は、プロトコル1ではRSAを使い、プロトコル2ではRSA・DSAを使う
同じRSA方式でもプロトコル1と2の互換性はない
SSH
Secure Shell Remote Shellの暗号化版
※Telnetは通信内容が暗号化されない
目的:
安全に遠隔操作
処理内容:
通信の暗号化+サーバの認証+ユーザの認証
利用例:
ファイルコピーのSSHバージョン rcp ⇒ scp
ファイル転送のSSHバージョン ftp ⇒ sftp
★SSHのインストール
apt-get install openssh
apt-get install openssh-server
apt-get install openssh-client
/etc/rc.d/init.d/sshd start SSHサーバの起動
ps -C sshd SSHサーバの確認
★基本操作
ssh user@host
ssh host ローカルUserとリモートUserが同じ(例:root)
ssh -p 2222 user@host ポート番号を指定(デフォルト:22)
ssh user@host '<リモートへのコマンド>'
ssh -l user host -l ユーザ名
ssh -l user host <リモートへのコマンド>
ssh user@host -i xxx.pem
ssh -v デバッグ
SSL
Secure Socket Layer 暗号化通信方式(特にブラウザとサーバの間)
目的:
安全に情報通信
処理内容:
通信の暗号化+サーバの認証(証明書)
利用例:
HTTPS
★keytool用法
keytool -genkey -alias server-cert -keyalg rsa \
-keystore keystore.jks \
-keypass password -storetype JKS -storepass password
keytool -selfcert -alias server-cert -validity 7300 \
-keystore keystore.jks -keypass password -storetype JKS \
-storepass password
keytool -importkeystore -srckeystore keystore.jks \
-destkeystore keystore.p12 -srcstoretype JKS \
-deststoretype PKCS12 -srcalias server-cert \
-destalias server-cert -srckeypass password \
-destkeypass password -srcstorepass password \
-deststorepass password
★PKIについて
★SSH Tunnel
sudo ssh -i xxx.pem <user>@<host> -L <local port>:<remote IP>:<remote port> -Nf
★パスワードなしのログイン
1.ssh-keygen
$HOME/.ssh下にid_rsa.pubとid_rsaが作成された
2.ssh-copy-id user@host
= ssh user@host 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
★$HOME/.sshフォルダの中身
・authorized_keys ユーザ認証
・id_rsa privateキー
・id_rsa.pub publicキー
・known_hosts サーバ認証
★WindowsからLinuxに接続するツール
Tera Termなど
★opensslで秘密鍵と公開鍵を作成
openssl genrsa > private_key.pem
openssl rsa -pubout < private_key.pem > public_key.pem