SSH


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

<html>
<head>
<title>ssh</title>
<style type="text/css">
<!--
body { background-color: rosybrown; }
-->
</style>
</head>
<body>
<pre>
ここにSSH関係のノートを書きます
Secure Shell
(wikipediaより抜粋)
Secure Shell(セキュアシェル)は、暗号や認証の技術を利用して、
安全にリモートコンピュータと通信するためのプロトコル。
パスワードなどの認証部分を含むすべてのネットワーク上の通信が暗号化される。
スペルアウトするよりも、頭字語のSSH(エスエスエイチ)と呼称することが多い。

そもそもはTelnetやrsh、rloginなどといった、
リモートホストのシェルを利用するための既存のプロトコルを
代用する手段として考えられていた。
TelnetやFTPは、ネットワーク上に平文でパスワードを送信してしまうため、
パスワードをネットワーク経路上でのぞき見されてしまう(これを盗聴やスニフと呼ぶ)
危険性が高く、商業的なインターネット空間では問題が大きかった。
Telnet同様に、リモートホスト間でのファイルコピー用のコマンドrcpを代用するSCPや、
FTPを代用するためのSFTPも用意されている。

SSHの暗号通信は、公開鍵暗号(RSA又はDSA)を用いて
共通鍵暗号(トリプルDES、AESなど)の共通鍵を暗号化して鍵交換を行い、
通信自体は高速な共通鍵暗号を用いる、いわゆるハイブリッド暗号である。
また、成りすましを防止するための認証の仕組みも充実している。
パスワード認証、公開鍵認証、ワンタイムパスワードなどが提供されており、
個々のセキュリティポリシーに合わせて選択できる。

現在は、バージョン1とバージョン2の2種類のプロトコルが共存しているが、
バージョン1には脆弱性が発見されているためその利用は推奨されない。
商用アプリケーションやフリーソフトウェアなど幾つかの実装があり、
特許や互換性の問題などでやや混乱があったが、
2006年にSSHのプロトコルおよびその関連技術がRFCとして制定された(RFC4250-RFC4256)。
ただ、もっとも一般に普及しているのは、
オープンソースで開発されているOpenSSHで、
Linuxなどでも標準的に利用されているため、
現在では単純にSSHと言った場合、OpenSSHの実装系を指していることが多い。


ー用語ー
SHELL
カーネルにユーザーの命令を伝えるもの

RSHELL=RSH
外部からSHELLを動かせる
これはセキュリティがない
だからこの外からの通信を暗号化してしまうおうと考えたのがSSHなのである

正式版のSSH
SSH社のもの。販売してるパッケージソフトがある
先生はなぜSSH社SSHを買うのかはわからんのであるょ
会社全体でライセンスを買う場合が多い

OpenSSH
暗号通信の方式そのものは特許が切れているので
OpenSSHというものが生まれたのであるょ
著作権はプログラムを作ったひとにあるので
1から作りなおせばおkなのだょ

公開鍵暗号方式
RSAとかDSA
難しい方がこれ
平文(普通に読めるもの)

暗号化アルゴリズム(計算式)

暗文(よくわからん文字の羅列)

複号アルゴリズム(平文に戻す計算式)

平文(普通に読めるもの)

パスフレーズ

鍵の種

鍵生成アルゴリズム
↓    ↓
鍵1 鍵2→復号化アルゴリズムに使用

暗号化アルゴリズムに使用

教えてしまう方の鍵を公開鍵という
この場合は鍵1で
秘密鍵は鍵2


通常SSHはパスワード認証はしない

SSHにはバージョンがあってバージョン2がおぬぬめ
バージョン1とバージョン2は通信ができない
全くと言っていいほど互換性はない

ssh-keygenでsshの公開鍵と共通鍵を作る

vi /etc/hosts.allow
sshd:ALL
という文章を追加
これで誰でも入れるってこと?

一応新しくユーザneteng18を追加したよ
useradd neteng18
passwd neteng18

↓この文をiptablesとip6tablesに追加
# SSH CLIENT
-A OUTPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --sport 22 -j ACCEPT
# SSH SERVER
-A OUTPUT -p tcp --sport 22 -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT

許可したい人の
id_rsa_pubを.ssh/authorized_keysに追加する
.ssh/authorized_keysをchmodで600にする
authorized_keysの例
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArZLlVFcXEuYwk202QkrxNZ+RHCb5r4VPPc0qgHvP/es4XCBS2tJyUjbCW9TUheerxuq1Jtg97TnocLX6ZtnMJ+XliCSQjmbkx22rwueqgitn0WmC3006q1OPKro7sYe0ShXCeGt3lx4jtBV6KYYaub4+LQ7CXM9ChwshJgF0xIjwVoUs94RFF+d46f6AkC1psHblNJEmCnyzlgllzalI/8tY24acU+C7kOexFp3uNkIxQo5EdZ8f3FVhO5C0ymqyAX4i2O8XvIndXMwyWmNT2AiumQchTtKIHJ1fFYMBimF2HdEdQi1VwtVtQuQ5BNYfQCa4AlwJlOPQYKa+fF8k/Q== neteng17@neteng17
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAt4/noYDYB41NEnkmlxpRX7r7EkPbgj16LqE2LkY38Whhp993Iw9/GLVkMM1/enRdTBUPLJTA7lWM7Cz6GPnCen3YAEGiDX+opQm3y/EAWpecNO39eGgTyVQ2u4Y1Tyxt09mf1a81c8TW55WnreHNKeXpAF4CibiQO5pNdUvSOLYD6/Jn9bYVadmO9ngiVEw27LTAKy+AjPvJZAIIyJ7YRBpik2WbzMybR4WIlz/gvw7zUJXmvOg0DWRFaLjPx3X8NXur4L304SPiG7Sxb9m1di9RE40PPtAw4kTSN4fFW2AsGRyXf3tjtsqbrRyC9xLVKb2+2iifbzV1ZdlNMwxIzw== neteng25@neteng25
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvX9fOc/IMuEPGqqZBq44LP85QOZ/d4W2W6sZUI8z3Xh6Y9KbXaB0IT6CzPFgnussPT/pNRyZs3Du73MojJJ1BR+zsnVJQ9W5001Siq5dJnmFzQMwY14eGvKjTnF0foaGMxsIAhMUtn6BS6ArdMs78RlK0ifa6wpt5UEX8PAo2TbkETJU/xagA5WY/4czwsEdMTQUWJSZi2Cp3emij4o5vC6riaq6SEL3+f7+blff0rwMJ8qzSie0JaR6f5Ymt8alaWCrxVeu7U6fdQTf2XhIyRNZ+qKyhFH1t/sWsjuiyg9y5MeFtflA43lfGroveZj8peLvziOpe46Q8wx/5kOOPQ== neteng26@neteng26

これを入れることでアカウントパスワードの認証をなくすことができる
/etc/ssh/sshd_configから
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication no
<font color=red>↑この部分をNOに変更する</font>



</pre>
</body>
</html>
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。