1.21 jigowatts

Great Scott!

CentOS7 MacからSSHリモート接続する

概要

使ってないPCにCentOS7をインストールしました。ということで、まずはMacからSSHでリモート接続してみます。

検証環境

サーバ:CentOS 7(IP:192.168.11.9、User:sh)
クライアント:Mac OS X v10.10(IP:192.168.11.3)

パスワード認証でログイン

クライアントでターミナルを立ち上げ、sshコマンドでユーザとサーバを指定。

$ ssh -l sh 192.168.11.9

CentOS(shユーザ)のパスワードを入力します。
初回ログイン時に接続するのか聞かれるので

Are you sure you want to continue connecting (yes/no)? 

yesと入力すると

Warning: Permanently added '192.168.11.9' (RSA) to the list of known hosts.

とメッセージが表示され、クライアント側の~/.ssh/known_hostsにCentOSの公開鍵が追加されました。
サーバにログインできることが確認できたので、一旦ログアウトしておきます。

[sh@CentOS ~]$ logout

公開鍵認証でログイン

クライアント側で公開鍵秘密鍵ペアを生成します。

$ ssh-keygen

パスフレーズを入力すると公開鍵秘密鍵のペアができました。

クライアントの公開鍵を表示しコピーしておきます。

$ cat ~/.ssh/id_rsa.pub

再度、パスワード認証でサーバにログイン。

$ ssh -l sh 192.168.11.9

.sshディレクトリとauthorized_keysファイルを作成します。

[sh@CentOS ~]$ mkdir -p .ssh
[sh@CentOS ~]$ chmod 700 .ssh/
[sh@CentOS ~]$ touch .ssh/authorized_keys
[sh@CentOS ~]$ chmod 600 .ssh/authorized_keys

このファイルにコピーしたクライアントの公開鍵をペーストし保存します。

[sh@CentOS ~]$ vim .ssh/authorized_keys

ここでサーバからログアウト。

[sh@CentOS ~]$ logout

クライアント側でssh接続すると、今度はパスフレーズを聞かれます。

$ ssh -l sh 192.168.11.9

公開鍵秘密鍵ペアを作成したときのパスフレーズを入力すると、以降パスワードなしでログインできるようになりました!

configファイルを利用した公開鍵認証でログイン

クライアント側に~/.ssh/configを用意します。

$ vim ~/.ssh/config
Host CentOS7
	Hostname	192.168.11.9
	Port	22
	User	sh
	IdentityFile	~/.ssh/id_rsa

configファイルのHostの値を指定。

$ ssh CentOS7

かなりシンプルになりました♪

SSHサーバの設定変更

サーバにログインし、rootユーザに変更し設定ファイルを変更します。

[sh@CentOS ~]$ su -
[root@CentOS ~]# vim /etc/ssh/sshd_config
PermitRootLogin no -- 追加:SSHでrootでログインすることを禁止

AllowAgentForwarding no -- #を外しnoに変更
AllowTcpForwading no -- #を外しnoに変更
X11Forwarding no -- #を外しnoを有効にする
#X11Forwarding yes -- #を入力し無効にする

他にもパスワード認証とチャレンジ/レスポンス認証を無効にしたり、ポートを変更したり。

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Port 22345

設定ファイルを書き換えたら、sshdサービスの再読み込みを行って設定を反映させます。

[root@CentOS ~]# systemctl reload sshd.service

この辺はセキュリティ要件などに従い設定してください。

参考

TECHNICAL MASTERはじめてのCentOS7Linuxサーバ構築編

TECHNICAL MASTERはじめてのCentOS7Linuxサーバ構築編