、sshコマンド
ログインタイプ
- パスワード:サーバがクライアントに公開鍵を送信し、戻って公開鍵暗号化、復号化サーバ認証用パスワードを使用してサーバへのクライアント。
- 公開キーログオン:サーバーがクライアントにランダムな文字列を送信し、クライアントの秘密鍵を(署名としてRSAを使用して)復号化するために、サーバの公開鍵を使って暗号化されています
sshコマンドパラメータ
- -Aキーのパラメータが使用された場合、あなたはこの常にロムをチェックする必要が見つけた場合、これと他のシーンは、非常に便利です前方に跳躍します
- -iは、キーファイルを指定します。
- -pポート番号
- -C:要求されたすべてのデータを圧縮します。
- -f背景
- -Nパラメーター:分布シェルは、いくつかのシナリオでは、必要とされないような転送のみアカウントとしてSSHアカウントリクエスト禁止シェル端末、
- -T:それは配信端末を必要としません。
- -o ServerAliveInterval = 60時間の他のすべての期間は、キープアライブメッセージを送信します
関連コマンド
- 鍵ペアを生成するためのssh-keygenは
サーバーに公開鍵をコピーするためにssh-コピー-ID
使用できる公開鍵をコピーします。sshのユーザ@ホスト 'ます。mkdir -pの.ssh &&猫>>の.ssh / authorized_keysに' <の〜/ .ssh / id_rsa.pubを
関連文書
- ユーザーの公開鍵を格納するための〜/ .ssh / authorized_keysファイル
- 〜/ .ssh / known_hostsのファイルサーバに保存されているユニークなハッシュコードは、サーバーを識別するために使用されます
- 〜/ .ssh / id_dsaにユーザの秘密鍵ファイル
- authorized_keysファイルをログに記録するサーバに公開鍵を追加するための〜/ .ssh / id_rsa.pubの既定のユーザー公開鍵ファイルを
- の/ etc / sshを/ ssh_configのSSHクライアント構成
- / etc / ssh / sshd_config SSHサーバの設定
使用パターン
それは、あなたが、リモートホストを動作させるために上記のようにあなたがいるauthorized_keysを変更し、フレキシブルパイプを使用することができ、このようにsshを使用することができない自動化されたスクリプトを使用するには、使用するために推奨されるモードです。例:
ユーザーの現在のディレクトリにコピーされたファイルのすべてのリモートホストの$ HOME / srcに/ディレクトリ:ssh user@host 'tar cz src' | tar xzv
リモートホストの$ HOME / srcに/ディレクトリにコピーされたファイルのすべての$ HOME / srcに/ディレクトリ: cd && tar czv src | ssh user@host 'tar xz'
第二に、ポートフォワーディング
ダイナミック前方:ssh -D 1080 user@host
最も広くプロキシsock5、プラスの接続を暗号化された付加的な利点として使用する、SSの広範な使用は、本ソフトウェアを使用することです。
さらに、それはまた、いくつかのパブリック・ネットワーク・サーバのIPはネットワーク・サーバ外部のネットワークIP経由のみのサーバーにアクセスするためのプロキシとして、ネットワークの外に、達成するために石をステッピングないとして機能することができます。
ローカルフォワーディング:ssh -L LocalPort:remoteHost:remotePort sshHost
- このlocalportで-gデフォルトのポートは、このパラメータは、ポートに接続された他のマシンを可能にすることができる、唯一のマシンが接続されていることができます
ここで注意remoteHost:remotePort
ローカルsshHostが実際には、相対アドレスsshHost、localhostに設定などREMOTEHOSTです
通常など、ファイアウォール、ネットワークポート、などのシーンを直接接続することはできませんが、直接ローカルREMOTEHOSTに接続されていない、十分に開発されていない、あなたはsshHostトランジットが必要です。
その時、私たちの会社のシナリオでは、当社のサーバーのバックグラウンドの一部は、外部のポートを開きませんでした、社内で私たちは、地方公共ネットワークサーバに転送ネットワークサーバのsshの使用に背景にアクセスする必要がある、私たちのネットワークサーバへのネットワークの直接アクセスを含みます。
リモート前方:ssh -R LocalPort:remoteHost:remotePort sshHost
このことに注意してくださいremoteHost:remotePort
別のマシンにsshコマンドの実行やローカルフォワーディングを基準にしています。
また、このコマンドが実行され、機械やローカルフォワーディング異なることに注意してください。たとえば、私たちはクライアントサーバA 2021にサーバのポート21をマッピングするために、非常に多くのニーズを持っています。
ローカルフォワーディング:現時点では、クライアントの転送上でローカルにコマンドを実行してssh -L 2021:localhost:21 serverA
、リモート転送を:それはサーバー上で実行され、ssh -R 2021:localhsot:21 client
クライアントは、クライアントがsshserverのが必要であることを、私たちのクライアントを指し、
上記ローカルおよびリモートの転送転送のような、パラメータの関数で同じ差異コマンドが、両方は時々相互に交換することができません。ローカルおよび心への輸出からのリモート:
ローカル:ローカルデータが出て転送するローカルポートに転送されますsshserverのクライアント接続
リモート:クライアント接続sshserverの、sshserverの中でポートを構築し、ローカルからsshserverのデータへ
LANへのパブリックアクセスのための一般的なシーン。国民は、ローカルエリアネットワーク内のLANサーバー・マシンにアクセスできるように、リモート前方を確立
xsellメニュー - >表示 - >トンネルのペインには、すぐに三種類を作成することができます。
ProxyCommandパラメータ
何度もオンライン著作権管理サーバは、あなたが直接接続することはできませんが、通過する接続が踏み台マシンをログに記録するためにC、こうしたサーバA、Bのように石を、ステッピングによって制御されます。あなたは今、次のプログラムで、ローカルサーバーに接続する場合:
- 以下のようなダイナミックな前進のローカル使用の際には
ssh -D 1080 user@host
ホストとユーザー、このローカルホスト接続に埋めるなど、あなたも考えられ飛び石でこの接続を使用することができ、その場合にはxshellで新しい接続を作成するときにプロキシとして1080を使用して、飛び石ていますlocalhostがマシンへの踏み台です - ローカルのようなローカルフォワーディング、使用して
ssh -L 2222:hosta:22 tiaobanHost
、我々はlocalhostのポート2222と接続サーバ、プロキシを設定する必要はありませんを使用することができ、この時間は、 - サーバは社内LANにアクセスすることができないため、リモート転送は、一般的に、しないでください
上記の方法は、バックエンドサーバーのログを記録するために実装することができますが、2は、まだいくつかの不便を操作していますが、より便利なのProxyCommandを使用することができます。
コマンド:ssh -o ProxyCommand="ssh user@jumpHost -W %h:%p" serverHost
このコマンドはあなたが定期的のProxyCommandは、SSHの設定ファイルに書き込むことができます使用している場合
三、scpコマンド
例:scp test.txt chen@centos:/home/chen/data/
- ポートを指定-P
- -r再帰コピー
- キーファイルことを示している-i
四、rsyncコマンド
例: rsync -avuz ~test/ chen@centos:/home/chen/data/
SCPのrsyncを、など、主にのみ異なるファイルを同期する「rsyncの」アルゴリズムを使用して、HTTP圧縮伝送、一般的にはより速い速度をサポートしています。パラメータは次のとおりです。
- -tは、時間を変更し更新しません
- -z圧縮
- -P HTTP機能、大容量のファイルを使用します
- -r再帰的な転送
- -I強制同期
- -aアーカイブモードと-rlptgoD(なし-H、-A、-X)と同等のすべてのファイル属性を維持
- -v出力伝送詳細
- -u古いものと新しいトランスミッションのよりも同期の受信者上のファイルの場合
また、モデルのrsyncサーバとクライアントを使用して、rsyncサーバモードがあり、ファイルは長期的に必要と同期させる、このモードで、このモードのLinuxシステムアカウントを使用することを推奨してアカウントをより安全に、分離されています。
五、SZとRZコマンド
この2つのコマンドを使用して、飛び石、このシナリオが発生した場合は、Windows上でxshellクライアントを使用することは非常に簡単ですが、頻繁に必要が着用して着用して、これらの2つのコマンドは、自動的に非常に簡単なトンネル、非常に簡単なコマンド州することができます。
- -eバイナリ伝送では、これは非常に重要であり、時にはとき、実行可能ファイル転送
- 現在は、デフォルトが発生した場合、元のファイルを上書き-y
-o "ノーStrictHostKeyChecking"
六、ssh-agentの
最後に、多くの場合、SSHの複数の秘密鍵と秘密鍵を使用してシーンに遭遇するようにしてくださいを使用する場合は、この事は、非常に有用であると言うためには、シーンを暗号化する必要があります。秘密鍵が暗号化されている場合、パスワードは各接続や、要求される
各種サーバ間の摩耗が複数id_rsaとパスワードが必要な場合があり、それは、異なるホストの面倒な、追加の複数は、秘密鍵を指定するために必要な複数の秘密鍵でありますssh-agentのは、この問題を解決するために使用されます。
この機能は、SSHの設定ファイルがForwardAgentで、sshdの設定ファイルで設定AllowAgentForwardingが必要です
- evalの `ssh-agentの-s`:オープンエージェント、ここであなたはevalを使用する必要があります。
- id_rsa_fileのssh-追加します。ここで指定されていない場合、追加するために使用するキーを、ファイルの〜/ .ssh / id_rsaとファイルを追加します