SSHリモート管理
1. SSHプロトコル
SSHは、IETFのWebチーム(ネットワークワーキンググループ)が開発したセキュアシェル、の略で、SSHは、アプリケーション層のセキュリティプロトコルに基づいて構築されています。SSHは、リモートログインセッションのためのセキュリティプロトコル、およびその他のネットワークサービスを提供するために設計された、より信頼性の高いです。SSHプロトコルは、効果的情報開示問題の過程におけるリモート管理の使用を防止することができます。
2. SSH作品
Linux上のSSHサーバー(sshdが)あり、一般的にデフォルトで有効になっている、ポート22でリッスンします。私達はちょうど、リモートサーバーに接続するために、SSHクライアントが必要です。オペレーティングシステムへのSSHプロトコルを介してリモート・サーバーへのユーザーログを処理します。
例えば、我々は、サーバーのSSHDをオフにすることができ、クライアントは接続できません。
service sshd stop
クライアントとして3. sshのsshコマンド
3.1 sshコマンド
ユーザーのログオンサーバーを指定します。
ssh -l root 192.168.0.109
ssh [email protected]
指定ポートとユーザのログイン・サーバ
ssh [email protected] -p 1234
3.2 scpコマンド
一般的に使用されるLinuxのマルチステージの複製の間、いくつかの方法ファイルがありますされています。
- FTPを使用して、プロトコル、マシンはファイルを転送するために彼のために、FTPクライアントを使用して、別のマシンにFTPサーバーをインストールし、この方法は、より使用に便利、かつ安定している、欠点は、FTPサーバーとクライアントを設定する必要があり、転送以上推奨ファイルのより多数。
- 使用サンバの使用に非常に便利なサービス、また、configureサンバサービスに必要で、いくつかの制限があり、多くの初期の使用は、現在使用量が徐々に減少しています。
- SCPを使用コマンド
scpコマンドの基本フォーマット:
scp [选项] 文件位置 文件目标位置
一般的なパラメータ:
-v 显示进度
-C 压缩传输选项,这个并不推荐使用,我们一般本地压缩后在传输
-p 指定端口
-4 强行使用 IPV4 地址
-6 强行使用 IPV6 地址
-r 遍历路径复制(一般用于目录的传播)
-l 限制最大传输带宽,单位是Kb/s
ローカルからリモートの例へのコピー
scp ./sms.php [email protected]: /root/
上記のコマンドは、192.168.0.109ホスト/ルート/ディレクトリを使用してrootアカウントにカレントディレクトリのローカルsms.phpに伝達され、
scp -r ./sms [email protected]: /root/
上記のコマンドは、現在のディレクトリ内のローカルファイルで、内部のディレクトリをSMS、192.168.0.109ホスト/ルート/ディレクトリを転送するには、rootアカウントを使用します
リモートからローカルにコピーする例
scp -r [email protected]: /root/sms ./22
scp [email protected]: /root/sms/mail.php ./33
4. SSHサーバの設定SSHD
プロファイルの場所:/etc/ssh/sshd_config
中国のノートの4.1プロフィール
Protocol 2 #只支持SSH2协议
Port <端口号> #修改默认端口号
MaxStartups 5 #同时允许5个尚未登录的SSH联机
MaxAuthTries 3 #最大登录尝试次数为3
GSSAPIAuthentication no #关闭GSSAPI认证
ServerKeyBits 1024 #将ServerKey强度改为1024比特
PermitEmptyPasswords no #禁止空密码进行登录
ChallengeResponseAuthentication no #禁用s/key密码
UsePAM no #不通过PAM验证
PermitRootLogin no #禁止root远程登录
PasswordAuthentication no #不允许密码方式的登录
RSAAuthentication no #不允许RSA认证,只针对SSH1
PubkeyAuthentication yes #允许公钥认证
AuthorizedKeysFile .ssh/authorized_keys #保存公钥的认证文件
UsePrivilegeSeparation yes #用户权限设置
SyslogFacility AUTH #记录SSH登录情况
LogLevel INFO #记录等级为INFO
PrintMotd yes #登录成功后显示/etc/motd 文件的内容
PrintLastLog no #不显示上次登录信息
Compression yes #是否压缩命令
KeepAlive yes #防止死连接
StrictModes yes #接受连接请求前对用户主目录和相关的配置文件进行宿主和权限检查
UseDNS no #不使用DNS反解
AllowUsers <用户名> #允许通过远程访问的用户,多个用户以空格分隔
AllowGroups <组名> #允许通过远程访问的组,多个组以空格分隔
DenyUsers <用户名> #禁止通过远程访问的用户,多个用户以空格分隔
DenyGroups <组名> #禁止通过远程访问的组,多个组以空格分隔
安全性を向上させるためには、通常の状況下では、我々はオンライン・マシンのrootアカウントリモートログインを禁止します、我々は低特権ユーザーを作成します使用してログインし、それがリモートでログインできるようにすることができますsu
rootアカウントへの切り替えを指示することができます。
あるいは、いくつかのケースでは、我々はキー無料パスワードを使用して、より安全な、あなたがしようとするデータを確認するためにオンラインに行くことができます。
4.2を使用する/etc/hosts.deny
と/etc/hosts.allow
、アクセス制御
/etc/hosts.allow
そして、/etc/hosts.deny
彼のクライアントを介して2つのリモートファイルアクセス制御設定は、サービスの特定のIPまたはIPアクセスLinuxのセグメントを許可または拒否することができます。
SSHなどのサービスは、我々は通常、我々は不要なIPを無効にすることができ、管理者のみに開くが、唯一の管理者がIPセグメントを開くために使用することができます
以下のような:vi /etc/hosts.allow
して、以下のように記述します。
sshd:192.168.0.*
上記の表現は192.168.0ことができます。* SSH IPアクセスサーバ接続部を使用します
vi /etc/hosts.deny
そして、以下のように記述します。
sshd:192.168.0.109
上記のユーザーは、SSHを使用してサーバーにアクセスするために192.168.0.109のIP接続を禁止されていることを示し、
注:とき/etc/hosts.deny
と/etc/hosts.allow
するために、ルールが競合している場合/etc/hosts.allow
、ルール勝ちます
5. sftpコマンド
SFTPは、対話型ファイル転送プログラムです。これは、FTPに似ていますが、それは、送信、FTPのセキュリティよりも高い暗号化されます。送信される接続を確立するために、最初の両端をftpを使用します。
コマンドを使用して接続を確立するには:
sftp 用户名@主机地址
接続が確立されるSFTPたら、ファイル転送用のコマンドSFTPを使用することができ、そして一般的に使用されるコマンドは次のとおりです。
ファイルのダウンロード:
get 远程文件地址 [本地文件地址]
「ローカルファイルアドレスは」満たしていない場合は、スプレッドが現在のディレクトリを表し
アップロードファイル:
put 本地文件地址 [远程文件地址]
「リモートファイルのアドレスは、」満たしていない場合は、リモートのカレントディレクトリスプレッド
他の一般的に使用されるコマンドはls
以下のとおりです。lls
、pwd
、lpwd
、exit
、quit
、、help
など
6.一般的なsshクライアントツールを導入
UNIXおよびLinuxの端末では、SSHクライアントとして直接使用することができます
一般的に、Windowsのクライアントソフトウェアの下で使用:パテ、xshell、のSecureCRT
SFTPクライアント:
UNIXおよびLinuxが持っているの下で:filezillaの、など
そこに窓:filezillaの、xftpなど