うつ病、双極性感情障害を抱えたけんけんのFedora、FreeBSD勉強日記。
Linux、Unixのデスクトップ用途として使う秘訣お教えします。
 since 2006年2月16日(木)

サーバー

SSHでパスワード認証を無効に出来ない on Fedora 33 32

状況

  Fedora 32,33上でSSHのパスワード認証の無効化が出来ません。sshサービスを起動して、firewalldを通すだけでパスワード認証は出来る訳でき、通常は/etc/ssh/sshd_configを編集してしまうだけなのですが… 注意としては、公開鍵認証の設定がちゃんと確立出来ている事を確認しておいて下さい。失敗すると接続出来なくなります。

解決方法

解決方法はとても簡単でした。大分探したのですけども。/etc/ssh/sshd_config.d/50-redhat.confを以下のように編集です。もちろん、sshd_configも同様に。

PasswordAuthentication yes

の行のyesをnoにするか削除して下さい。

PasswordAuthentication no

このファイルを探すのに苦労しました。sshd_config.dディレクトリがrootだけしか実行権限が付いてなくて、bashのファイル補完に出てこなかったので、気づきませんでした。しかし、この設定は2020年12月1日現在では修正されていて該当行はなくなっているので、環境によっては/etc/ssh/sshd_configのこの行を変更するだけで良いかもれしれません。また、sshd_config.d以下のファイルが他にもあればその設定も有効になってしまうので気をつけて下さい。ちゃんとパスワード認証が無効化されていれば、秘密鍵指定なしでは以下のように出力されるはずです。

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

まとめ

Fedora 32 33でのパスワード認証の無効化を解説しました。sshd_configを編集しても無効化出来ないならば、sshd_config.d/以下ファイルを修正すれば直ります。パスワード認証無効化はセキュアなsshリモート接続に必須なので、しっかり設定しておきましょう。

【解決済み】Job for vncserver@:1.service failed because a timeout was exceeded.

VNCサーバーを立てている時にドハマりしたのでメモ書いておきます。
VNCサーバーの立て方は、今までお作法が違う!!Systemdを使ったVNCでGUIなリモート操作!! on Fedora 24 25を参考のこと。

sudo systemctl start vncserver@:1

とすると2分ほど何も表示されず、

Job for vncserver@:1.service failed because a timeout was exceeded.
See "systemctl status vncserver@:1.service" and "journalctl -xe" for details.

と言われました。

この状況でもエラーメッセージが出るまではvncサーバーに接続出来るので接続してみるとSEalaertが表示されてます。

詳細ボタンを押すと、

cd ~
sudo ausearch -c 'systemd' --raw | audit2allow -M my-systemd
sudo semodule -i my-systemd.pp

しろと書いてあるので実行するとしばらく時間が掛かり、もう一度vncserver@:1をスタートさせるとすぐにプロントが返ってくるではありませんか。エラーメッセージ通りjournalctl -xeしてみたんですけどログが多すぎて見落としてたんですよね。

あー、解決するまでの時間がだいぶかかったぞー。(まる2日ぐぐりました。) デスクトップ環境をGnome-ShellにしてたらSEAlartがすぐに消えるのでメッセージが見えませんでした。MATEにしてみたらこのメッセージが表示されたのでもしかしてと思って実行してみたら成功でした。

つまるところ、SELinuxで守られていたんですねー。やっぱりSELinuxはdisableにしといた方がいいような…

このBlogでのFedoraサーバー鯖設定まとめ

このBlogでのサーバー鯖設定まとめを書いて置きます。
リンクで紹介。

基本設定

CentOSやScientifc Linuxでも同じ!!Fedoraのパッケージを使ってLAMP環境を構築する方法。


Sambaサーバー(Windowsファイル共有サーバー)
Sambaサーバーが表示されない時には。

NFS(UNIXファイルサーバー)
NFSサーバー

DAAP(iTunesサーバー) 
mt-daapdで音楽をDAAP共有してiTunesサーバー化!! 

 iPhone、iPod touch、iPadなどのiOSから、DAAP越しに音楽を聴こう!

pulseaudio(サウンドサーバー)
pulseaudioでサウンドをネットワークへ飛ばす
 
VNC(リモートデスクトップサーバー)

今までお作法が違う!!Systemdを使ったVNCでGUIなリモート操作!!

iPhone、iPad、iPod touchなどのiOSからVNCを使ってLinuxマシンをリモート操作しよう。 

Sambaサーバーが表示されない時には。

SambaサーバーWindowsファイル共有)を設定時にWindows側から表示されない問題に直面しました。
有名なサーバー設定サイト サイトさんにも載っていいなかった箇所が問題でした。

それは… 


Sambaサーバーのドメイン名をデフォルト値から変更する必要がある!!って事でした。
なんと単純な…


つまり、
sudo hostname fedora
とホスト名を設定するだけ。



再起動してもホスト名を設定するには、
sudo vi /etc/hostname
などテキストエディタで開き、
localhost.localdomain
fedora
などに設定するだけで良いです。 ホスト名は外向けにサーバー設定していないならばなんでもいいです。 localhost以外で。


Sambaサーバーの詳しい設定方法はまた別記するとして

  • 設定ファイルsmb.confいじる。(デフォルトのままでOK)
  • smbpasswd でSamba用アカウント作成。
  • firewalld設定 永続 samba samba-client
  • SELinux samba_enable_home_dirs on
  • ドメイン名設定
を確認しましょう。


  Sambaサーバーの詳しい情報は

Fedoraのネットワークカードのデバイス名をeth0に戻す方法。


Fedoraの15ぐらいからネットワークカードのデバイス名が変更されていました。
ifconfigしてみると分かりますが、

em0やp5p1等となっています。

私の環境だと




ifconfig

p5p1: flags=4163 mtu 1500
inet 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::225:22ff:fea0:9f67 prefixlen 64 scopeid 0x20
ether XX:XX:XX:XX:XX:XX txqueuelen 1000 (Ethernet)
RX packets 1556629 bytes 763755804 (728.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1788965 bytes 946806952 (902.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


となっています。
(ネットワークカードのMACアドレスは、XXにして隠しています。)

これをeth0に戻す方法がリリースノートに載ってました。




3. Fedora の変更点 - デスクトップユーザー向け

一貫性のあるネットワークデバイス名
Fedora 18 では引き続き以前のリリースでも実装されていた biosdevname というネットワークデバイス名の命名規則が適用されます。サーバーのマザーボード上の内蔵 Ethernet は emport_number。PCI カード上の Ethernet ポートは pslot_numberpport_number のように筐体のラベルと同じような順序で命名されます。この機能を無効にしたい場合には、カーネルオプションで biosdevname=0 と指定することで無効にできます。その場合、昔から使われている ethX という名前になります

とあります。


たぶん、/etc/grub.d/以下を弄るという正しい方法があるはずなんですが、分かりません(´・ω・`)


コメントでsawaさまからアドバイスがありました。



カーネルに与えるパラメーターは、/etc/default/grub の
GRUB_CMDLINE_LINUX」で設定できます。

GRUB_CMDLINE_LINUX="biosdevname=0"
と書いて
grub2-mkconfig -o /boot/grub2/grub.cf



ということだそうなので、


sudo vim /etc/default/grub


と設定ファイルを開き

GRUB_CMDLINE_LINUXの行末の”を削除し、
biosdevname=0”を追記します。

設定例(環境によって異なるのでそのままコピペしないように。



GRUB_CMDLINE_LINUX="SYSFONT=False rd.lvm=0 rd.dm=0 rd.md=0 rd.luks=0 LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet biosdevname=0"



そして、以下を実行してgrubの設定を反映させます。

sudo grub2-mkconfig -o /boot/grub2/grub.cf


これであとは再起動すればOKなはずです。




というわけなんで、/etc/grub2.cfgのvmlinuzの行末に biosdevname=0とすればいいと思います。





sudo grep vmlinuz /etc/grub2.cfg

linux /vmlinuz-3.7.4-204.fc18.x86_64 root=UUID=4fd12a36-b675-4300-b991-b2b7b5c8ac0c ro SYSFONT=False rd.lvm=0 rd.dm=0 rd.md=0 rd.luks=0 LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet
linux /vmlinuz-3.7.3-101.fc17.x86_64 root=UUID=4fd12a36-b675-4300-b991-b2b7b5c8ac0c ro SYSFONT=False rd.lvm=0 rd.dm=0 rd.md=0 rd.luks=0 LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet
linux /vmlinuz-3.7.3-101.fc17.x86_64 root=UUID=4fd12a36-b675-4300-b991-b2b7b5c8ac0c ro SYSFONT=False rd.lvm=0 rd.dm=0 rd.md=0 rd.luks=0 LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet
linux /vmlinuz-3.7.3-101.fc17.x86_64 root=UUID=4fd12a36-b675-4300-b991-b2b7b5c8ac0c ro single SYSFONT=False rd.lvm=0 rd.dm=0 rd.md=0 rd.luks=0 LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet
linux /vmlinuz-3.6.11-1.fc17.x86_64 root=UUID=4fd12a36-b675-4300-b991-b2b7b5c8ac0c ro SYSFONT=False rd.lvm=0 rd.dm=0 rd.md=0 rd.luks=0 LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet
linux /vmlinuz-3.6.11-1.fc17.x86_64 root=UUID=4fd12a36-b675-4300-b991-b2b7b5c8ac0c ro single SYSFONT=False rd.lvm=0 rd.dm=0 rd.md=0 rd.luks=0 LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet



なので、今使っているカーネルのバージョンを




uname -r
3.7.4-204.fc18.x86_64



と確認して、/etc/grub2.cfgのvmlinuzの行末にbiosdevname=0を追加しましょう。

例としては、こんな感じ。カーネルオプションはインストールした環境によって異なるので、
以下をコピペとかはしないように…




linux /vmlinuz-3.7.4-204.fc18.x86_64 root=UUID=4fd12a36-b675-4300-b991-b2b7b5c8ac0c ro SYSFONT=False rd.lvm=0 rd.dm=0 rd.md=0 rd.luks=0 LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet



の行末に、以下のように




linux /vmlinuz-3.7.4-204.fc18.x86_64 root=UUID=4fd12a36-b675-4300-b991-b2b7b5c8ac0c ro SYSFONT=False rd.lvm=0 rd.dm=0 rd.md=0 rd.luks=0 LANG=ja_JP.UTF-8 KEYTABLE=jp106 rhgb quiet biosdevname=0



と変更します。

ただし、/etc/grub2.cfgを直接弄ると、起動しなくなる可能性もありますしので慎重に…
また、カーネルがアップデートされたら同じ作業をする必要があります。

たぶん、/etc/grub.d/以下を弄るという正しい方法があるはずなんですが、分かりません(´・ω・`)


ブログ内の検索
Google

WWW を検索
このblog内を検索
最新コメント
コンピューター オススメ
アクセスカウンター

    はてブリスト - 現在
    • ライブドアブログ