Fedora Workstationをmacからssh接続可能にする

Fedora Workstationをmacからssh接続可能にする

Fedora Workstationをmacからssh接続可能にする設定です。ポートの変更手順や鍵認証での接続手順を記述してます。

fedoraバージョン

fedora30

事前確認

まずはopenssh-serverがインストールされているかを確認

sudo dnf install -y openssh-server

既にインストール済み

firewallの設定

次にfirewallを設定

sudo firewall-cmd --add-service=ssh --permanent

設定済み

sshd_configの設定

デフォルトポート22 を11122に変更し、rootログインを禁止にする

sudo vi /etc/ssh/sshd_config

Port 22

Port 11122

PermitRootLogin yes
↓
PermitRootLogin no

設定が終われば、再起動

sudo systemctl restart sshd

エラーが発生。。。

言われた通りに

journalctl -xe

してみる

どうもselinuxの設定っぽいので

sudo semanage port -l | grep 22

で状態を確認。

ssh_port_t tcp 22

となっていたので、下記で 11122port を追加

sudo semanage port -a -t ssh_port_t -p tcp 11122

これでsshdの再起動が可能に

とりあえず、ホストOSのMACから接続確認

ssh testuser@192.168.xxx.xxx -p 11122

無事接続できたので、ホストOSの方から公開鍵認証でアクセスできるように設定

公開鍵認証でssh接続

公開鍵と秘密鍵の作成

ssh-keygen -t ecdsa

今回はecdsaで作成
ecdsa → 楕円曲線DSA。RSAよりも解読が困難で、bitの効率が良く処理も早いらしい

保存場所やパスワードが聞かれるが、今回はパスワードだけ設定

Enter file in which to save the key (/home/testuser/.ssh/id_ecdsa): 
デフォルトで問題ないので無視してENTERキー

Enter passphrase (empty for no passphrase): 
パスワードを設定

これで~/.ssh/に公開鍵と秘密鍵が作成できた

公開鍵 id_ecdsa.pub 秘密鍵 id_ecdsa

公開鍵の登録

authorized_keys に作成した公開鍵を登録する

mv ~/.ssh/id_ecdsa.pub ~/.ssh/authorized_keys
## パーミッションも変更
sudo chmod 600 ~/.ssh/authorized_keys

クライアント側(mac)にファイル転送

今回はwinscpを利用して秘密鍵を転送
※MACでwinscpを利用する方法はこちら

隠しフォルダなので表示されないので、パスをダブルクリックしパスを指定

ディレクトリを直接指定

id_ecdsaをダウンロード

クライアント側でssh接続

ダウンロードしたrd_ecdsaのパーミッションを設定

chmod 600 ~/.ssh/id_ecdsa

ssh接続

ssh testuser@192.168.xxx.xxx -i ~/.ssh/id_ecdsa -p 11122

パスワードを求められるので設定したパスワードを入力

Enter passphrase for key '/Users/xxxxx/.ssh/id_ecdsa': 

パスワードログインの禁止設定

最後にサーバー側でsshのパスワードでのログインを禁止にする

## 設定ファイルを開く
sudo vi /etc/ssh/sshd_config

PasswordAuthentication yes をコメントアウトし
PasswordAuthentication no
に変更

## 再起動
sudo systemctl restart sshd 

以上で完了です。MacのTerminal上で「 ssh + 接続名」で SSH 接続を可能にする方法は、こちら