- SSH
- openssh コンポーネントをインストールする
- 作成された user01 および user02 ユーザーは、ssh サービスへのアクセスを許可されます。
- サーバーのローカル root ユーザーはアクセスを許可されていません
- SSH サービスのデフォルト ポートを変更し、新しいポート 3358 を有効にします。
- ユーザー user01 および user02 を sudo グループに追加します。リモート アクセスおよび権限昇格操作に使用されます。
1. SSHサービスをインストールする
[root@storagesrv /]# yum install ssh
2. SSH設定ファイルを変更する
[root@storagesrv /]# nano /etc/ssh/sshd_config
Port 3358
AllowUsers user01
AllowUsers user02
PermitRootlogin no
[root@storage /]# nano /etc/sudoers
[user01] ALL=(ALL) ALL #如需sudo不输入密码 把后面的ALL改成NOPASSWD:ALL 即可
[user02] ALL=(ALL) ALL
3. テストを再起動してポートを表示します。
[root@storagesrv/]# ss -lntp | grep ssh
listen 0 128 [::]:3358 [::]:* users:(("sshd",pid=49412,fd=4))
4. クライアントテスト
[root@insidecli /]# ssh [email protected] -p 3358
[email protected]'s password:
Last failed login: Sat Jun 17 18:54:28 CST 2023 from gateway on ssh:notty
There were 2 failed login attempts since the last successful login.
Last login: Thu Jun 15 01:15:17 2023
[user01@storagesrv /]$ sudo systemctl restart network
- SSH
- SSHをインストールする
- クライアントのみが ssh アクセスを実行でき、他のすべてのホストからの要求は拒否されます。クライアントは、Chinaskill22 ユーザー環境で秘密キーなしでのみログインでき、ポート番号は 2022 で、次のルート制御権限を持っています。別の SSH と SFTP。SFTP リスニング ポートは 54321 である必要があり、サービスは開始または停止する必要があります。
1. SSHサービスをインストールする
[root@reserver /]# yum install openssh -y
2. SSH メイン構成ファイルを構成する
[root@reserver /]# nano /etc/ssh/sshd_config
port 2022
3. サービスを再起動します
[root@reserver /]# systemctl restart sshd
4. クライアントのログインのみを許可するように設定する
[root@reserver /]# nano /etc/hosts.allow
sshd:10.10.100.1:allow
[root@reserver /]# nano /etc/hosts.deny
sshd:All
5. クライアント設定 chinaskills22 ユーザーのパスワード不要のログイン
[root@client /]# useradd Chinaskill22
[root@client /]# su Chinaskill22
[Chinaskill22@client root]$ ssh-keygen
[Chinaskill22@client root]$ ssh-copy-id [email protected] -p 2022
6.SFTP分離
1. ssh ファイルを sftp ファイルとしてコピーします
[root@reserver /]# cp /usr/lib/systemd/system/sshd.service /systemd/system/sftpd.service
[root@reserver /]# cp /etc/pam.d/sshd /etc/pam.d/sftpd
[root@reserver /]# cp /etc/ssh/sshd_config /etc/ssh/sftpd_config
2. ソフト接続
[root@reserver /]# ln -sf /usr/sbin/service /usr/sbin/rcsftpd
[root@reserver /]# ln -sf /usr/sbin/sshd /usr/sbin/sftpd
[root@reserver /]# cp /etc/sysconfig/sshd /etc/sysconfig/sftp
3. コピーした設定ファイルを変更します
[root@reserver /]# nano /etc/systemd/system/sftpd.service
Description=Sftp server daemon
EnvironmentFile=-/etc/sysconfig/sftpd
ExecStart=/usr/sbin/sftpd -f /etc/ssh/sftpd_config
4. ポート番号 54321 を変更します。
[root@reserver /]# nano /etc/ssh/sftpd_config
Port 54321
5.スタート
[root@reserver /]# systemctl restart sftp
6. ビューポート
[root@eserver /]# ss -ntpl|grep sftp
LISTEN 0 128 *:54321 *:* users:(("sftpd",pid=17504,fd=3))
LISTEN 0 128 [::]:54321 [::]:* users:(("sftpd",pid=17504,fd=4))
- SSH
- 動作ポートは 2021 年です
- ユーザー user01 のみが routersrv にログインできます。他のユーザー (root を含む) はログインできません。ssh 経由で RouterSI にログインしようとします。1 分間のログイン試行の最大数は 3 です。その後、クライアント ネットワーク アドレスによる ssh サービスへのアクセスが禁止されます。ユーザー ログイン ログを記録します。 ar/log/ssh.log へのログの内容には、送信元アドレス、宛先アドレス、プロトコル、送信元ポート、宛先ポートが含まれます。
1. 設定ファイルを編集する
[root@routersrv /]# nano /etc/ssh/sshd_config
port 2021 #修改端口号
AllowUsers user01
LoginGraceTime 1m #限定用户认证时间为1min
MaxAuthTries 3 #指定每个连接最大允许的认证次数。默认值是 6
SyslogFacility local0 #配置日志
2. ログファイルを編集する
[root@routersrv /]# nano /etc/rsyslog.conf
local0.* /var/log/sshd.log
#*代表匹配所有的日志信息
[root@routersrv /]# systemctl restart rsyslog
[root@routersrv /]# systemctl restart sshd
3. SSHタイムアウトスクリプト
[root@routersrv /]# nano cs.sh
#!/bin/sh
while true
do
SCANIP=`grep "Failed" /var/log/sshd.log | awk '{print $(NF-3)}' | sort | uniq -c | awk '
{print $1"="$2;}'`
for i in $SCANIP
do
NUMBER=`echo $i | awk -F= '{print $1}'`
SCANIP=`echo $i | awk -F= '{print $2}'`
echo "$NUMBER($SCANIP)"
if [ $NUMBER -gt 2 ] && [ -z "`/sbin/iptables -vnL INPUT | grep $SCANIP`" ]
then
/sbin/iptables -I INPUT -s $SCANIP -m state --state NEW,RELATED,ESTABLISHED -j DROP
echo "`date` $SCANIP($NUMBER)" >> /var/log/scanip.log
fi
done
sleep 2s
done
スクリプトを常に開始するように設定する
[root@routersrv ~]# vim /etc/crontab
* * * * * /bin/sh -x /cs.sh
4. テスト
[Chinaskill22@client root]$ ssh [email protected] -p 2022