Ubuntu 16.04
 

SSHサーバーの設定 : パスワード認証
2016/04/23
 
SSHサーバーを構成し、リモート端末からサーバーに接続して操作できるようにします。なお、SSH は 22/TCP を使用します。
[1] Ubuntu の Open SSH サーバーはデフォルトでパスワード認証方式でのログインは可能となっています。 さらに root ユーザーのみに関しては「PermitRootLogin prohibit-password」と設定されており、パスワード認証は禁止となっています。 よって、デフォルトのままでも最低限必要な設定は済の状態ですが、root ユーザーの SSH ログインを一切禁止するのであれば、以下のように設定を変更しておけばよいでしょう。
root@dlp:~#
apt-get -y install openssh-server
root@dlp:~#
vi /etc/ssh/sshd_config
# 28行目:no に変更してrootログイン一切禁止

PermitRootLogin
no
root@dlp:~#
systemctl restart ssh

SSHクライアントの設定 : Ubuntu
 
SSH クライアントの設定です。Ubuntu を例にします。
[2] SSH クライアントをインストールします。
root@client:~#
apt-get -y install openssh-client
[3] 任意の一般ユーザーで SSH サーバーに接続します。
# ssh [ログインユーザー@ホスト名 または IP アドレス]

root@client:~#
ssh ubuntu@dlp.srv.world

The authenticity of host 'dlp.srv.world (<no hostip for proxy command>)' can't be established.
ECDSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:60:90:d8.
Are you sure you want to continue connecting (yes/no)?
yes

Warning: Permanently added 'dlp.srv.world' (ECDSA) to the list of known hosts.
ubuntu@dlp.srv.world's password:    
# ログインユーザーのパスワード

ubuntu@dlp:~$    
# ログインできた

[4] SSH コマンドの引数にコマンドを指定することで、リモートホストで任意のコマンドが実行可能です。
# 例としてリモートホストの /etc/passwd を cat する

ubuntu@client:~$
ssh ubuntu@dlp.srv.world "cat /etc/passwd"

ubuntu@dlp.srv.world's password:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
...
...
ubuntu:x:1000:1000:ubuntu,,,:/home/ubuntu:/bin/bash
sshd:x:108:65534::/var/run/sshd:/usr/sbin/nologin
SSHクライアントの設定 : Windows
 
SSH クライアントの設定です。Windows を例にします。
[5]
Windows クライアント側で SSH接続できるソフトウェアを用意します。 一般的には TeraTerm ProPutty 等が有名です。 ここでは例として Putty を利用します。
Putty を上記サイトからダウンロード/インストールして起動したら、以下のような画面になるので、 Hostname にサーバーの ホスト名または IP アドレスを入力し「Open」をクリックして接続します。
[6] ユーザー名とパスワードを入力して認証すると、以下のように Ubuntu サーバーにリモートログインすることができます。
 
Tweet