はじめに
こんにちは、SHOJIです。
今回は、前回Hyper-Vに追加したCentOS7にSSHの設定を入れてリモート操作できるようにします。
前回の記事はこちら。
deadline-driven-developer.hatenablog.com
OpenSSHの設定
こちらを参考に実施しました。
kajuhome.com
yum list installed | grep ssh コマンドで openssh-serverが存在するか確認する。
存在しない場合は、sudo yum -y install openssh-server コマンドでインストールする。
systemctl start sshd.service コマンドで openssh-serverを起動する。
ssh-keygen -t rsa コマンドで秘密鍵・公開鍵を作成する。
mv /home/[user_name]/.ssh/id_rsa.pub /home/linux/.ssh/authorized_keys コマンドで公開鍵を移動する。
chmod 700 /home/[user_name]/.ssh コマンド、chmod 600 /home/[user_name]/.ssh/authorized_keys コマンドでパーミッションを変更する。
「OpenSSHの設定」で作成した秘密鍵をHyper-Vのホスト(Windows10)へ受け渡す。
受け渡し方法はいくつかあるが、ここではHyper-Vのホスト(Windows10)に共有フォルダを作成し、CentOSからCIFSでファイルを送る。
- 任意の場所にフォルダを作成し、プロパティの共有タブから共有フォルダに設定する。
sudo yum install -y samba-client cifs-utils コマンドを実行し、必要な機能をインストールする。
sudo mkdir /mnt/windows コマンドでマウント先ディレクトリを作成する。
smbclient -L //[ip_address] -U [windows_user_name] コマンドでディレクトリが見えるか確認する。
・do_connect: Connection to [ip_address] failed のメッセージが出る場合、Windowsのファイアウォールがブロックしている可能性あり。
・Unable to connect with SMB1 -- no workgroup available のメッセージが出るのはSMB1でアクセスしているため。次のコマンドで vers=2.0 と指定するとSMB2が使用されるため無視してよい。
sudo mount.cifs [share_directory_path(ex.//192.168.1.10/share/)] /mnt/windows -o vers=2.0,username=[windows_user_name] コマンドでディレクトリをマウントする。
df -h コマンドでマウントできていることを確認する。
sudo cp /home/[user_name]/.ssh/id_rsa /mnt/windows コマンドで秘密鍵をコピーする。
こちらを参考に実施しました。
www.digitalocean.com
qiita.com
新たにUbuntu端末を用意してSSH接続する場合の操作です。
Ubuntu側をNFSサーバ、CentOSをNFSクライアントにして、秘密鍵を受け渡しています。
今回はLinux間のファイル共有の要素を取り入れたい&プライベートなネットワークでのファイル授受のため、NFSでやり取りしていますが、NFSは暗号化されたセキュアな授受方法ではないことはご承知おきください。
sudo apt install nfs-kernel-server コマンドを実行し、必要な機能をインストールする。
任意の場所にディレクトリを作成し、sudo chown nobody:nogroup /home/[user_name]/share コマンドで所有者をnobodyに変更する。
/etc/exportsファイルに[directory_path] *(rw, sync, no_subtree_check) と追記する。
sudo exports -ar コマンドでディレクトリをエクスポートする。
sudo exportfs -v コマンドでディレクトリがエクスポートされていることを確認する。
- sudo yum install showmount コマンドを実行し、必要な機能をインストールする。
- mkdir /mnt/ubuntu コマンドを実行し、マウント先ディレクトリを作成する。
- showmount -e [ubuntu_ip_address] コマンドを実行し、Ubuntu側で設定したディレクトリが見えることを確認する。
- sudo mount -t nfs [ubuntu_ip_address]:[directory_path] /mnt/ubuntu コマンドでディレクトリをマウントする。
- df -h コマンドでマウントできていることを確認する。
- sudo cp /home/[user_name]/.ssh/id_rsa /mnt/ubuntu コマンドで秘密鍵をコピーする。
ssh -l [centos_user_name] -i [private_key_path] [centos_ip_address] コマンドでSSH接続を行う。
(Windows10、Ubuntuともに同じコマンドで接続できる)
exit コマンドでSSH接続を終了する。
おわりに
これでCentOSにSSH接続でリモート操作を行えるようになりました。
次回はこの上にWebサービスを載せていきたいと思います。