CentOS 7
 

SSHサーバーの設定 : パスワード認証
2014/07/09
 
SSHサーバーを構成し、リモート端末からサーバーに接続して操作できるようにします。
[1] SSH サーバーは CentOS を「Minimal Install」した場合でも、デフォルトで OpenSSH がインストールされるため、追加インストールする必要はありません。またデフォルトで自動起動設定になっているため、 パスワード認証方式でのログインは可能となっています。 よって、最低限必要な設定としては、セキュリティを考慮して、以下のように root アカウントの直接ログインの禁止設定を実施しておけばよいでしょう。
[root@dlp ~]#
vi /etc/ssh/sshd_config
# 48行目:コメント解除し変更 ( rootログイン禁止 )

PermitRootLogin
no
# 77行目:コメント解除

PermitEmptyPasswords no
PasswordAuthentication yes
[root@dlp ~]#
systemctl restart sshd

[2] Firewalld を有効にしている場合は、SSH サービスの許可が必要です。なお、SSH は 22/TCP を使用します。
[root@dlp ~]#
firewall-cmd --add-service=ssh --permanent

success
[root@dlp ~]#
firewall-cmd --reload

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

[root@client ~]#
ssh cent@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.
cent@dlp.srv.world's password:    
# ログインユーザーのパスワード

[cent@dlp ~]$    
# ログインできた

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

[cent@client ~]$
ssh cent@dlp.srv.world "cat /etc/passwd"

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