CentOS7の運用と保守-SSHリモートアクセスと制御
1.SSHプロトコルの概要
これは、文字インターフェイスのリモート接続に使用される安全なチャネルプロトコルであり、通信データを暗号化でき、高いセキュリティを備えています。
デフォルトでは、システムのインストール時[最小化]
►SSHクライアント:パテ、Xshell、SecureCRTの
►SSHサーバー:OpenSSHの
2、OpenSSH
►サービス名:sshd
►サーバーメインプログラム:/usr/sbin/sshd
►サーバー構成ファイル:/etc/ssh/sshd_config
►クライアント構成ファイル:/etc/ssh/ssh_config
3、サーバー構成
LoginGraceTime 2m
#登录验证时间为2分钟
PermitRootLogin yes
#允许以root登录
MaxAuthTries 6
#最大重试次数为6
MaxSessions 10
#同一地址的最大连接数
PermitEmptyPasswords no
#禁止空密码用户登录
UseDNS no
#禁用 DNS 反向解析[可提高服务器相应速度]
AllowUsers cat fox [email protected]
#不要将不存在的用户名加入其中
#多个用户用空格分割 以114.114.114.114的IP登录
DenyUsers cat
#DenyUsers权值大于AllowUsers
4、端末を使用してログインします
ssh [email protected]
共通パラメータ
-p
デフォルト以外のポート番号を指定する
ssh -p 110 [email protected]
SSHサービスでサポートされている5、2つの認証方法
①パスワードの確認
ユーザー名とパスワードによると、ブルートフォース攻撃の可能性があります
。②キーペアの確認に
は、一致するキー情報が必要です。
キーペアの優先度はパスワード検証よりも高い
PasswordAuthentication yes
#启用密码验证
PubkeyAuthentication yes
#启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys
#指定公钥库文件
デフォルトのログインキーは〜/ .ssh / known_hostsに保存されます
6、scpリモートレプリケーション
一般的なオプション
-r
カタログ全体をアップロードおよびダウンロードするときに使用されます-P
ポートを使用するポートを指定するか、クライアント構成ファイルを変更します
ダウンストリームコピー
scp [email protected]:/home/dog.sh /home
#将远程主机中的/home/dog.sh复制到本机的/home目录里
#源目录要使用绝对路径,相对路径会找不到文件[目的目录可以用相对]
アップストリームレプリケーション
scp /home/cat.sh [email protected]:/home
#将本机/etc/ssh目录复制到远程主机
►クライアント►
サーバー
7、sftpより安全なFTP
暗号化および復号化テクノロジーを使用し、セキュリティを向上させますが、伝送速度は平均よりもFTP
低くなります
sftp root@IP地址
一般的な手順
ls
ファイルを確認してくださいget
ファイル名put
ファイル名quit
脱落
8、キーペア検証を構成します
①キーペアを作成する
ssh-keygen -t ecdsa
秘密鍵のデフォルトの場所/home/fox/.ssh/id_ecdsa
利用可能な暗号化アルゴリズム
- RSA
- ECDSA
- DSA
ls -l .ssh/id_ecdsa*
#密钥存放位置
id_ecdsa
#是私钥文件 权限默认值600
id_ecdsa.pub
#是公钥文件 用来提供给 SSH 服务器
②鍵ペアペアリングの最初のスキーム
ssh-copy-id -i id_ecdsa.pub [email protected]
►クライアント►
サーバー
③鍵ペアペアリングの2番目のスキーム
►クライアント
scp ~/.ssh/id_ecdsa.pub [email protected]:/opt
►サーバー
cat /opt/id_ecdsa.pub >> .ssh/authorized_keys
cat /home/fox/.ssh/authorized_keys
④証明書を挿入した後、パスワードなしでログインする
►クライアント
ssh-agent bash
ssh-add
ssh [email protected]
九、TCPラッパー
TCP
サービスは、代わって、包まれTCP
、それによって提供されるデフォルトの機能を、サービスへのアクセス変更するには、外国人の必須パスの安全性検査プログラムセキュリティ検出を高め、ポートサービス
2つの保護メカニズム
tcpd
他のプログラムを保護するために使用- 他のネットワークサービスプログラムから
libwrap.so.*
リンクライブラリを呼び出すための許可は必要ありませんtcpd
後者の方が効率的です
►lddビューlibwrap.so.*
リンクライブラリ
lld $(which ssh)
#含义为lld了which ssh的结果
TCPラッパーのアクセスポリシー
対応する2つのポリシーファイルを許可すると、それぞれの政策を否定セットに使用されている
/etc/hosts.allow
と/etc/hosts.deny
格式:
<服务程序列表>:<客户端地址列表>
①サービスプログラム一覧
- ALL:すべてのサーバーを表します
- 単一のサービスプログラム:「vsftpd」など
- 複数のサービスプログラムのリスト:「vsftpd、sshd」など
②クライアントアドレス一覧
- ALL:すべてのクライアントアドレスを表します
- ローカル:道路標示のローカルマシンアドレス
- 複数のアドレスはコンマで区切ります
- 許可されますか?*前者は1文字を表し、後者は任意の長さを表します
网段地址 192.168.1. or 192.168.1.0/255.255.255.0
区域地址 .baidu.com
TCPラッパーメカニズムの基本原則
►最初/etc/hosts.allow
にファイル
を確認し、/etc/hosts.deny
一致するポリシーが見つかった場合はアクセスを許可します►引き続きファイルを確認し、一致するポリシーが見つかった場合はアクセスを拒否します
①戦略を許可する
②拒否戦略
トラブルシューティングのアイデア
①ssh_exchange_identification:読み取り:ピアによって接続がリセットされました
-v
接続の詳細を表示するオプションを追加
ssh -v [email protected]
OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 58: Applying options for *
debug1: Connecting to 192.168.222.150 [192.168.222.150] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
ssh_exchange_identification: read: Connection reset by peer
サーバーのホワイトリストとブラックリストを表示する
vim /etc/hosts.deny
vim /etc/hosts.allow
コメントアウトするだけです