GNU/Linux
セキュアシェル(SSH)
サーチ…
前書き
セキュアシェルは、暗号化された接続を介してクライアントからサーバーにリモートアクセスするために使用されます。 OpenSSHは、リモートシェルアクセスを実現するが、暗号化されていないTelnet接続の代わりに使用されます。 OpenSSHクライアントは、デフォルトでほとんどのGNU / Linuxディストリビューションにインストールされ、サーバーに接続するために使用されます。これらの例は、SSH接続を受け入れて別のホストに接続するためにSSHスイートを使用する方法を示しています。
リモートサーバーに接続する
サーバーに接続するには、次のようにクライアント上でSSHを使用する必要があります。
# ssh -p port user@server-address
- port - サーバのlistenしているsshポート(デフォルトのポート22)。
- user - SSH特権を持つサーバー上の既存のユーザーでなければなりません。
- サーバーアドレス - サーバーのIP /ドメイン。
実際の世界の例では、あなたがウェブサイトを作っていると見せかけます。サイトをホストする会社は、サーバーがWeb-servers.comのカスタムポート2020にあり、アカウント名usr1がSSH特権を持つサーバー上にユーザーを作成するように選択されていることを示しています。この場合、使用されるSSHコマンドはそのようになります
# ssh -p 2020 [email protected]
リモートシステムのアカウント名がローカルクライアントのアカウント名と同じ場合は、ユーザー名を省略することができます。あなたがいるのであればusr1
その後、両方のシステム上で、あなたは私だけで使用web-servers.com
代わりに[email protected]
。
接続先のサーバーに直接アクセスできない場合は、ProxyJumpスイッチを使用してアクセス可能な別のサーバーを介して接続し、目的のサーバーに接続できます。
# ssh -J [email protected]:2020 [email protected] -p 2222
これにより、10.0.0.1のサーバ(ポート2020上のsshを実行中)を通してサーバ10.0.0.2(ポート2222上のsshを実行中)に接続できます。もちろん、両方のサーバにアカウントを持っている必要があります。また、-JスイッチはOpenSSHバージョン7.3で導入されています。
OpenSSHスイートのインストール
SSHサーバーを削除してSSH接続を受け入れるには、 openssh
インストールする必要があります
Debian:
# apt-get install openssh
アーチLinux:
# pacman -S openssh
Yum:
# yum install openssh
公開鍵と秘密鍵を生成する
SSHクライアントの鍵を生成するには:
ssh-keygen [-t rsa | rsa1 | dsa ] [-C <comment>] [-b bits]
例えば:
ssh-keygen -t rsa -b 4096 - C [email protected]
デフォルトの場所は、プライベートの場合は~/.ssh/id_rsa
、公開鍵の場合は~/.ssh/id_rsa.pub
です。
詳細は、 man.openbsd.orgをご覧ください。
接続を受け入れるようにSSHサーバを設定する
最初に、SSHデーモン設定ファイルを編集する必要があります。異なるLinuxディストリビューションの下では、これは異なるディレクトリに置かれるかもしれませんが、通常は/etc/ssh/sshd_config
このファイルに設定されている値を変更するには、テキストエディタを使用してください。#で始まる行はすべてコメントアウトされています。推奨事項のリストはそのように続きます。
Port (chose a number between 0 - 65535, normaly greater than four digits)
PasswordAuthentication yes
AllowUsers user1 user2 ...etc
この文書で説明するように、セキュリティを強化するために、すべてのパスワードログインを無効にしてSSH鍵を使用することが望ましいことに注意してください。
sshサービスを無効にする
これにより、必要に応じてクライアントがssh経由で接続できないようにSSHサーバ側のサービスが無効になります
Ubuntu
sudo service ssh stop
Debian
sudo /etc/init.d/ssh stop
アーチLinux
sudo killall sshd
パスワードのない接続(鍵のペアを使用)
まず第一に、鍵のペアが必要です。まだ持っていない場合は、「パブリックキーとプライベートキーを生成する」トピックをご覧ください。
鍵ペアは、秘密鍵(id_rsa)と公開鍵(id_rsa.pub)で構成されます。公開鍵をリモートホストにコピーし、内容を~/.ssh/authorized_keys
ファイルに追加~/.ssh/authorized_keys
です。
これを行う簡単な方法の1つは次のとおりです。
ssh <user>@<ssh-server> 'cat >> ~/.ssh/authorized_keys' < id_rsa.pub
公開鍵がユーザーのホームディレクトリに適切に配置されたら、それぞれの秘密鍵を使用してログインする必要があります。
ssh <user>@<ssh-server> -i id_rsa