目的
表題の作業の手順や注意すべきポイント、 自分のエラーの記録などを残すこと。
環境
ローカル:Mac BigSir 11.4 M1 シェル:zsh リモート:Debian11 64amd シェル:bash
前提
- リモートサーバーにsshがインストールされていること
- 一般ユーザーが作成されていること
作業
管理用ユーザーの作成
usermod -G wheel <既存の一般ユーザー>
usermodコマンドはユーザーのホームディレクトリやグループ、パスワードなどを変更するためのコマンドです。
どうやらwheelグループが存在しないようで、代わりにsudoが存在しています。Debianにはwheelがデフォルトで存在しないため作成する必要があるそうです。
- 参考:
https://atmarkit.itmedia.co.jp/ait/articles/1612/14/news022.html
http://hnakamur.blogspot.com/2008/12/debianwheel.html
とりあえずまずは一般ユーザーがsudoを使えれば良いので、
usermod -G sudo <ユーザー名>
でいきます一般ユーザーにログインし直して、適当なファイルを作成し、
sudo chmod 777 hogehoge
的なコマンドを叩いてsudoが使えることを確認します
SSHの設定を書き換え~接続試行
/etc/ssh/sshd_config
ファイルを開きますPermitRootLogin no
:rootユーザーでのログインを禁止Port <任意のポート番号>
:ポートをデフォルトから変更(ウェルノウンポートと被らないように注意)ファイルを保存した後、
sudo systemctl restart ssh
で設定の変更を反映
SSHキーの生成から転送
サーバー側に
~/.ssh
ディレクトリを作成し、sudo chmod 755 ~/.ssh
でパーミションを変更するクライアント側(今回だとローカル環境)に
~/.ssh
ディレクトリを作成し、sudo chmod 700 ~/.ssh
でパーミションを変更する( ここのパーミッションが重要 )パスフレーズなどは設定せずに生成し、添付画像のようになっていればOKです
続いて、
scp -p <設定したポート> id_ed25519.pub <root以外のユーザー名>@49.212.179.153:~/.ssh/
コマンドで生成した公開鍵(.pubの方)をリモートサーバーに転送します。リモートサーバーの
~/.ssh/
ディレクトリ配下に公開鍵がコピーされていればOKですサーバに転送した公開鍵のパーミションを
sudo chmod 600 <鍵名>
に変更( OpenSSHでは~/.ssh/内のファイルがモード600[ユーザーのみ読み書き可能]でないと使用できないため )ssh -i ~/.ssh/id_ed25519 -p <設定したポート> <root以外のユーザー名>@<ホスト>
で接続試行し、ログインできればOKです
パスワードなしで接続を可能にする
/etc/ssh/sshd_config
ファイルを開きますPasswordAuthentication
をno
にしますsudo systemctl restart ssh
を実行しますクライアント側で
ssh -i ~/.ssh/id_ed25519 -p <設定したポート> <root以外のユーザー名>@<ホスト>
で接続試行すると。。。Permission denied (publickey).
と突然怒られました。。。Damn...
Permission denied (publickey)の解消
~/.ssh
直下にtouch
コマンドでauthorized_keys(接続を許可する公開鍵を登録しておくサーバー側のファイル)を作成sudo chmod 600 authorized_keys
コマンドでパーミションの変更/etc/ssh/sshd_config
ファイルを開きますAuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
のコメントアウトを外しますsudo systemctl restart ssh
を実行します- 再度、クライアント側で接続確認し、正常に行われることを確認できればOKです
補足
- デバッグは
ssh -vT <ユーザー名>@<ホスト>
で(-v:ログ出力、-T:疎通確認)
今回はここまでとなります!
お付き合い頂きありがとございます!
参考
- https://www.mk-mode.com/blog/2021/09/15/debian-11-ssh-installation/
- https://blog.seaoak.jp/linux-sudo-memo/
- http://www.bnote.net/kuro_box/ssh_inst.html
- https://sig9.hatenablog.com/entry/2020/01/11/000000
- https://hana-shin.hatenablog.com/entry/2021/12/21/202454
- https://qiita.com/tag1216/items/5d06bad7468f731f590e
- https://qiita.com/tag1216/items/5d06bad7468f731f590e#fn2