俺的SSH構築手順書(CentOS 7)

遠隔でサーバーを操作するのに使うSSHですが、手順がごっちゃになるので自分用の手順書兼備忘録を作ります。

 

SSHって何?

一応SSHについてどういうものなのかをおさらいしておきます。

SSHは、ネットワークに接続された機器を遠隔操作するために使用するアプリケーション層のプロトコルのこと。Telnetの場合、パスワード情報を含め、すべてのデータが暗号化されずに送信されるのに対して、SSHの場合、パスワード情報を含めてすべてのデータが暗号化されて送信される。”

 

SSHを構築

パッケージの確認

SSHを使うためにOpenSSHというパッケージがインストールされてるかをrpmコマンドを使って確認する。

 

# rpm -qa | grep openssh

↓実行結果

openssh-server-7.4p1-21.el7.x86_64
openssh-clients-7.4p1-21.el7.x86_64
openssh-7.4p1-21.el7.x86_64

 

Configファイルの編集

初めにパスワード認証での設定を行う。(公開鍵認証は後述の方法で)

有事のことを考慮してcpコマンドでバックアップのファイルを作成しておくと〇。

下記の項目を確認・編集する。

# vi /etc/ssh/sshd_config
# Port 22(確認)
# Protocol 2(確認)
# PermitRootLogin---[rootログインの許可]
# PermitEmptyPasswords---[空パスワードの許可]
# PasswordAuthentication---[パスワード認証の許可]

↓変更後

PermitRootLogin no (セキュリティを考慮し#を外してnoと記述)
PermitEmptyPasswords no (セキュリティを考慮し#を外してnoと記述)
PasswordAuthentication yes (#を外してyesと記述)
AllowUsers hoge (ログインを許可するサーバー側のユーザーを記述)

設定が完了したらSSHを再起動して設定を反映させる。

 

アクセス制限の設定

セキュリティ強化のため、TCP WrapperとPAMによるアクセス制限を行い、rootへの切り替え制限の設定を行う。

TCP Wrapperの設定は /etcにある hosts.allowファイルと hosts.denyファイルから行う。

まずはTCP Wrapperの設定をする。

# vi /etc/hosts.deny
sshd:all (ファイルに記述)

次にhosts.allowファイルの設定を行う。

# vi /etc/hosts.allow
sshd:192.168.~.~ (許可するホストのIPアドレスをファイルに記述)

次にPAMの設定をする。

/etc/pam.d/sshdファイルと/etc/security/access.confファイルを編集する。

# vi /etc/pam.d/sshd
account  required  pam_access.so (下記設定内容を元に制限を行うようファイルの最終行に記述)

# vi /etc/security/access.conf
-:ALL EXCEPT sshgrp:ALL (sshgrpグループに属してるユーザー以外はログイン不可になるようファイルの最終行に記述)

sshd_configファイルでPAMが使用できるようになっているか確認する。

# vi /etc/ssh/sshd_config
UsePAM yes (PAMを使用する設定になっているか確認)

/access.confの設定からユーザーをsshgrpに属させる必要がある為、グループを作成しユーザーを追加する。

# groupadd sshgrp
# gpasswd -a hoge sshgrp
# grep sshgrp /etc/group
sshgrp:100~:hoge

最後にrootの切り替え制限をするためにwheelグループに属しているユーザーのみroot昇格できるよう設定する。

wheelグループにユーザーを追加し、PAM認証にするための設定を行う。

# gpasswd -a hoge wheel
#grep wheel /etc/group
wheel:x:10:hoge
# vi /etc/pam.d/su
auth  required  pam_wheel.so use_uid (#を外す)

login.defsファイルにてwheelグループのみをroot昇格できるよう設定する。

# vi /etc/login.defs
SU_WHEEL_ONLY yes (ファイルの最終行に記述)

 

SSHでリモート接続する

WinクライアントにてTeraTermを起動し、入力を進めるとログインできる。

 

公開鍵暗号方式で接続

セキュリティの面から一般的にはパスワード認証よりも公開鍵認証が推奨されている。

そのため、公開鍵でログインができるよう設定を行う。

鍵の作成

鍵の作成はクライアント側でもサーバー側でも可能なため状況に合わせて行う。

今回はサーバー側にてRSA公開鍵暗号方式を用いて作成。

接続したいユーザーのホームディレクトリにてssh-keygenコマンドを実行して鍵を作成する。

$ ssh-keygen -t rsa

passphreseの入力を行うと.ssh/が作成されその中に公開鍵と秘密鍵がある。

作成された秘密鍵のid_rsaファイルをクライアントに置く。

公開鍵の内容をcatコマンドにてauthorized_keysファイルに書き込みを行い、パーミッションを600に変更。また、.ssh/はパーミッションを700に設定。

$ cat id_rsa.pub > /home/hoge/.ssh/authorized_keys
chmod 600 .ssh/authorized_keys
chmod 700 .ssh/

 

Configファイルの編集

sshd_configファイル内の公開鍵暗号方式の許可を行う。

また、公開鍵暗号方式のみを使う場合パスワード認証を禁止しておく。

# vi /etc/ssh/sshd_config
PubkeyAuthentication yes (公開鍵暗号方式を許可する為#を外しyesと記述)
PasswordAutentication no (パスワード認証を禁止する為noと記述)

SSHを再起動し設定を反映させる。

# systemctl restart sshd
公開鍵を使用して接続

TeraTermを起動し、公開鍵を指定して接続する。

 

分割キーボード再開とQMK環境構築。

転職に当たってデスクでPCを使う時間が多くなったこともあり、今まで使う出番がなかった分キーボードを引っ張り出して使うことにしました。

また、QMKの環境構築でつまづいたところがあったので備忘録として残しておきます。

 

QMKの環境構築でつまづく

PC自体が前の環境から変わったこともあり、QMKの環境を一から構築する必要が出たため数年ぶりに建てることとなりました。

今回は以前使っていたMSYS2ではなく、QMK‐MSYSを使って環境構築をしました。

構築に当たって参考にしたサイトが↓になります。

 

zenn.dev

 

公式からexeファイルをダウンロードしてインストールを行い、qmkのセットアップまで行ったところで、

qmk is ready to go but minor problems were found

と表示され、makeを通すことが出来ませんでした。

 

解決策

具体的なエラーの内容は分からなかったのですが、QMKソースコードの最新化を行ったところ解決しました。

下記サイトのQMKソースコードの最新化の項目を参考にコマンドを入れて何とか環境構築が完了しました。

 

qiita.com

 

分割キーボード生活、再開

眠っていたFortitude60を引っ張り出してキーマップを変更して分割キーボード生活の再開です。

 

ネコのキーキャップとThinking Faceがいい感じ

久しぶりに使うこともあって最初は操作がぎこちなかったですが、今では昔の感覚を取り戻しつつあります。 

 

最近のお気に入りの中華トラックボールと共に

今回ケーブルも新調してマグネットタイプのUSBケーブルを使い始めたので、また元のキーボードを使いたくなってもすぐ戻せる仕様になっています。

個人的にマグネットケーブルが便利すぎてリピート買いしたくなってます。

ポインティングデバイスの方も新しい機材を導入検討したのですが、去年ごろに調子が悪くなったM570tの代替で購入した中華トラックボールがお気に入り過ぎてそれを継続してつかうことにしました(元のボールは赤色でしたが色味を合わせるためにペリックスの金のボールへ変更)。

 

新しいデスク環境で仕事も勉強も趣味もまったり頑張っていきたいと思います。

 

___

この記事は、Fortitude60を使って書きました。

Linuxエイリアス設定について

Linuxエイリアス(alias)の設定について備忘録を残しておきます。

 

エイリアス(alias)とは

長いコマンドや複雑なオプションを短く記述したり別名に置き換えることのできるコマンド。

偽名や別名といった意味を持つ。

 

設定方法

下記のようにaliasコマンドにて入力することで”一時的”にエイリアスを設定することが出来る。

 

alias lls='ls -laF'

 

しかし、これだと再起動時に設定されたエイリアスが消えてしまう為いちいち起動時に再設定しなければならない。

そこで、bashrcに記述することによって”恒久的”にエイリアスを設定することが出来る。

エイリアスを設定したいユーザーのホームディレクトリに移動し(ここではguestとする)、テキストエディタで.bashrcファイルを開く。

 

cd /home/guest
vi .bashrc

そうしたら先のエイリアスを記述して保存する。

こうすることで再起動してもエイリアスの設定が消えず残すことが出来る。

 

また、rootユーザーを含むユーザー全体にエイリアス設定を反映させたい場合、/etcにあるbashrcファイルを編集することで行うことが出来る。

 

vi /etc/bashrc

エイリアスの設定を確認したい時はaliasコマンドを入力することで一覧にて表示される。

 

参考資料

qiita.com

mkserver.dip.jp

 

転職、休職、そして異業種へ

みなさん、お久しぶりです。

 

久々なので話すことは沢山あるのですが、ひとまず生存報告としてブログを更新しました。

直近の話題としましては、新卒から約3年間勤めていた会社を辞め、転居を機に転職しました。

ただ、精神的につらいと感じることが多く本当にやりたいことを改めて見つめなおした結果、再度異業種へ転職することとなりました。

 

今までは医療・福祉業界に従事していましたが、次はITエンジニアとして働きたいと考え、初めにインフラ系のSES企業へ転職しました。(マイクラ鯖を立てた経験からサーバーやネットワーク系のエンジニアのイメージがつきやすかったからのもある)

現場にアサインされるまでは自己学習をメインに知識を深めていき、いちエンジニアとして業務に当たれるよう精進している最中です。

 

とりあえず短いですがここらへんで失礼します。

「一休み。」#52

お久しぶりです。

最近精神的に辛い日々が連続していたのでなかなか更新できませんでした。

これからも当分一息つける状況にはならなそうですが、少しだけ余裕ができたので今回更新をした次第です。

 

ほぼ毎日更新から不定期更新へ

現状やらなければいけない事とやりたい事が積み重なり過ぎて頭ごっちゃになっているのでひとまずこのブログの更新を一時的に不定期更新にします。(前から不定期みはありましたが

気が向いた時の気晴らしだったり試験勉強の記録としてたまーに投稿することがあるかもしれないですがその時は温かい目で見てやってください。

 

それじゃ今回はここまで、またね。

 

「身体がお疲れのご様子。」#51

講義が始まって一日のスケジュールに通学の時間が増えたことで身体疲労が半端ないです。

夕方過ぎには眠気が襲ってきて10時前には寝ていることがほとんどです。

疲れすぎて睡眠欲求が爆増している今日この頃。

 

活動する気力が出ない

平日更新できていた頃は在宅ワーク真っただ中だったので何とか更新できていました。

ただ講義が始まった今は正直疲れすぎてなかなかブログを書くフェーズに移行できません。(の割に最近Apexやってる奴←)

お絵描きの方もあまり手を付けられていないのでそもそもクリエイティブ()な活動に向いていない説濃厚。

それでも気ままにできる範囲でやっていこうと思います。

 

それじゃ今回はここまで、またね。

「服に悩む季節。」#50

昨日更新忘れたのと本日分の予約もしてなかったので直前に書いてます。(夜眠すぎてすぐ寝てしまう)

 

ようやく気温が涼しくなって過ごしやすくなりましたね。

エアコン使わずに過ごすことができて個人的には嬉しいですが、朝夜と昼の気温差が大きいので服装にはいつも悩まされます。

 

長袖or半袖

この時期が一番何を着ていいのか分からないと思うのは私だけでしょうか。

朝の気温に合わせて暖かめの服装にすると昼間が暑すぎて逆につらいです。

かといって昼に合わせて薄着だと朝夜の寒さがつらい。

最近は半袖Tシャツにマウンパで最適解が出かけてるんですが、やっぱり朝夜は少し肌寒いので何か対策できないかと模索してます。

インナーを一枚着るかアウターを変えるかしてこの時期の気温に上手く適応していきたいところです。

 

それじゃ今回はここまで、またね。