質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

3回答

14395閲覧

ssh接続可能なユーザの一覧の見方

macasan

総合スコア5

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

1クリップ

投稿2020/02/21 08:53

Linux(CentOS7)のユーザについての質問です。
VPSなどを借りてssh接続する際にrootもしくはadduserで作成したユーザでのログインが可能であると思いますが、cat /etc/passwdで表示される最初から用意されている他のユーザではssh接続はできないのでしょうか。
また、こういった設定はどのファイルで定義されているのでしょうか。
セキュリティの面で気になったので教えて頂きたいです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

sshに限らずログインできるかどうかを見るには、/etc/passwdの内容が参考になります。
たとえば、rootは/etc/passwdでは以下のように末尾に /bin/bash が記載されています。これは、rootでログインでき、ログインシェルがbashであることを意味します。

root:x:0:0:root:/root:/bin/bash

これに対して、daemonは以下のように末尾が/sbin/nologinです。

daemon:x:2:2:daemon:/sbin:/sbin/nologin

この /sbin/nologin は、このユーザーではログインできず、サービスの実行ユーザ等でのみ使われることを意味します。

ちょっと微妙なのは postgres 等でして、

postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash

このように /bin/bashが指定されていますが、外部から直接postgresユーザでログインすることはできません。その理由は、パスワード等が設定されていないからです。postgresでログインするには、いったん通常のユーザでログインした後、以下のようにします。

$ sudo su - postgres

パスワードが設定されているかは、root権限があれば、/etc/shadowを閲覧するのが簡単です。

$ sudo cat /etc/shadow ... postgres:!!:18197:::::: ...

postgresユーザにはパスワードが設定されていないことが分かります。

また、rootでsshログインできるかどうかは、既に回答があるように、/etc/ssh/sshd_configにより確認できます。

投稿2020/02/21 11:55

ockeghem

総合スコア11705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

macasan

2020/02/21 13:20

ご回答有り難うございます。 ちゃんと/etc/passwdに記載されていたんですね。 とても勉強になりました。
doda

2020/02/22 18:21

ログインシェルが/sbin/nologinで有る事を確認するよりも/etc/shadowでパスワードが無効化されている事を確認するのを先に行う方がいいと思います。ログインシェルを/sbin/nologinにするというのはログイン出来なくするのでは無く、コマンドを実行出来なくする為の設定だからです。 daemon等のログインシェルが/sbin/nologinになっているユーザも、ログイン出来ないのはパスワードが無効化されている為です。これらのユーザにpasswdコマンドでパスワードを設定するとそのパスワードでssh接続が行えるようになります。(ただしログインした直後に切断される) ログインシェルを/sbin/nologinにした効果は「ログイン後にログインシェルとして起動した/sbin/nologinがすぐに終了してログアウトする」という物なので、厳密にはログイン出来ています。 ログイン出来てもコマンドが実行出来なければ大きな違いは無さそうに思うかもしれませんが、ログインシェルが起動されない状況では大きく変わってきます。例えば ssh -N でログインシェルを起動しないようにすれば接続が維持出来てポート転送等が行えますし、設定によってはsftpによるファイル転送も可能となります。
ockeghem

2020/02/23 01:20

dodaさん、ご指摘ありがとうございます。確かに、運用上ログインできるかではなく、セキュリティ上の質問をしているわけですから、/etc/shadowを先に見たほうがいいですね。
guest

0

sshdでつなぐんなら、sshd_configでしょうね。
CentOS7なら /etc/ssh/sshd_config に定義ファイルがあるので、
sshd_configの設定例をネット上で検索して設定を追い込んでください。

例えば、AllowUsers っていう定義で、
sshd経由の接続を許可するユーザーを指定したりとか、
あるいは、DenyUsers っていう定義で、
sshd経由の接続を拒否するユーザーを指定したりとか。
また、PermitRootLogin っていう定義でrootユーザーの接続を許可したり拒否したり。
原則 no ですけども。

Amazon EC2向けだけど、様々な設定項目に触れて解説している記事:
セキュアなSSHサーバの設定 - Qiita

Slackware向けだけど、こちらも説明いろいろ:
sshd の設定(sshd_config)

CentOS7向けの事例だけど、あまり掘り下げてない:
CentOS 7 : SSHサーバー : SSH 鍵認証 : Server World

投稿2020/02/21 10:24

編集2020/02/21 11:11
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

macasan

2020/02/21 13:31

ご回答有り難うございます。 記事読んで勉強します!
guest

0

サーバー側のsshdの設定は
/etc/ssh/sshd_config
で設定します。

まずは設定できる項目をマニュアルで確認し、改めて具体的に
何をどう解決したいのか質問されるのがよろしいかと思います。

manページ — SSHD_CONFIG
https://nxmnpg.lemoda.net/ja/5/sshd_config

投稿2020/02/21 10:19

technocore

総合スコア7337

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

macasan

2020/02/21 13:27

ご回答有り難うございます。 もう少し具体的に質問ができるよう気をつけます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問