sshコマンド
パスワードなし1.ターゲットホストにSSHキーをコピーし、開いているSSHログイン
SSH-コピー-IDのユーザ@ホスト
あなたが鍵を持っていない場合は、ssh-keygenのコマンドが生成する使用します。
図2に示すように、トンネルローカルホストポート2001ホストへのポート80から開い
SSH -N -L2001:localhost:80にsomemachine
このサイトにアクセスするために2001:// localhostを:今、あなたは、ブラウザでhttpで直接入力することができます。
3、リモートコンピュータのスピーカーにマイク出力
DD =は/ dev / dspの場合| SSH -c ARCFOUR -Cユーザ名@ホストDD =は/ dev / dspを
マイクポートからのこのような音はスピーカー出力ポートSSHのターゲットコンピュータになりますが、残念ながら、貧弱な音質が、あなたはジュージューという音をたくさん聞くことができます。
4、より多くのリモートとローカルのファイル
sshのユーザー@ホスト猫/パス/に/ remotefileを| 差分/パス/に/ LOCALFILE -
ローカルファイルとリモートファイルが異なっているかどうかを比較する場合、このコマンドは非常に便利です。
5、SSH経由でのディレクトリ/ファイルシステムをマウントします
sshfsのサーバー@名:/パス/に/フォルダ/パス/に/マウント/ポイント
http://fuse.sourceforge.net/sshfs.htmlあなたがネットワークディレクトリ全体でセキュリティを実装することができますダウンロードsshfsの、。
図6に示すように、中間ホストのSSH接続を介して
SSH -t reachable_host SSH unreachable_host
Unreachable_hostは、このコマンドは遊びのunreachable_host接続を作成し、「隠された」接続をreachable_hostと言われますが、ローカルネットワークに直接アクセスできないところネットワークreachable_hostからホストコンピュータからアクセスすることができます。
7は、パスワードなしで開いたリモートホストへのSSH公開鍵を、コピーする - 最も簡単な方法を
SSH-コピー-ID、ユーザ名@ホスト名
図8に示すように、Aは直接ホストコネクタのみBを介してホストに接続されています。
SSH -t hostAのsshのhostBで
もちろん、あなたがホストAジョブにアクセスできるようにしたいです。
9、ターゲットホストへの持続的接続を作成します
SSH -MNf <ユーザー> @ <ホスト>
ターゲットホストへの持続的接続を作成するための背景には、このコマンドと、あなたはの〜/ .ssh / configの設定を組み合わせて使用:
ホストホスト ControlPath ~/.ssh/master-%r@%h:%P のControlMasterなし
あなたは、このコマンドは非常に有用であろう(使ってrsync / SFTP / CVS / SVN)SSH定期的に同期ファイルを使用している場合ではないたびに、あなたがSSH接続を開くため、ターゲットホストへのすべてのSSH接続は、永続的なSSHソケットを使用します。これは、新しいソケットを作成します。
図10に示すように、スクリーンはSSHを介して接続されています
REMOTE_HOST画面-r -t SSH
直接(役に立たない親bashのプロセス保存)リモート画面セッションに接続します。
11、検出用ポート(ノッキング)
ノック<ホスト> &&のssh -p <ポート>ユーザー@ホストはノック&& <ホスト> 5000 4000 3000 4000 5000 3000
それはポートシャットダウンをノック、その後、(SSHなど)サービスポートを開くためのポートでノック、あなたがknockdをインストールする必要があり、以下は、サンプル設定ファイルです。
[オプション] ログファイル= /var/log/knockd.log [OpenSSHの】 配列= 3000,4000,5000 seq_timeout = 5 コマンド= / sbinに/のiptables -A INPUT -iはeth0 -s%IP%-p TCP -dport 22 - jはACCEPT tcpflags = SYN [closeSSH] 配列= 5000,4000,3000 seq_timeout = 5 コマンド= / sbinに/のiptables -D INPUT -iはeth0 -s%IP%-p TCP -dport 22 -j ACCEPT tcpflags = SYNを
12、行がテキストファイルの内容を削除し、便利な修理
SSH-keygenは-R <the_offending_host>
この場合、それはプロのツールを使用するのが最適です。
13、複合SSHを実行して、リモートコマンドシェル
SSHホスト-lユーザー$(<CMD.TXT)
のその他のポータブルバージョン:
sshのホスト-lユーザー「`猫cmd.txt`」
14は、新しいサーバーにSSHのMySQLデータベースをコピーします
mysqldumpを-add-ドロップテーブル-extended-挿入-force -log-エラー= error.logに-uuser -pPASS OLD_DB_NAME | newhost @ sshの-Cユーザー「mysqlの-uuser -pPASS NEW_DB_NAME」
mysqlコマンドへの入力として渡されたMySQLデータベースの圧縮により、SSHトンネルをダンプし、私はそれが最速の新しいデータベースサーバーと最善の方法に移行していると思います。
15、テキストファイルの行の修復を削除し、「SSHホストキーの変更」警告
SED -i 8Dの〜/ .ssh / known_hostsに
16、サーバーへのSSHパブリックキーをコピーするには1つのホストから無SSH-COPY-IDコマンド
猫の〜/ .ssh / id_rsa.pub | 「マシン@ sshのユーザーます。mkdirの〜/ .ssh。猫>>の〜/ .ssh / authorized_keysに」
あなたは、Mac OS Xまたは全く他の* nixの変種のssh-コピー-idコマンドを使用している場合、あなたはまだ、パスワードなしでSSHログインを実装することができますので、このコマンドは、リモートホストに公開鍵をコピーすることができます。
17、リアルタイムのネットワークスループットのテストSSH
はい| PV | SSH $ホスト「猫>を/ dev / null」
SSHを介してホストに接続し、ディスプレイのリアルタイム伝送速度、伝送データは、PVをインストールするためには/ dev / nullに、必要性のすべてを対象。
それはDebianのであれば:
PVをインストールapt-getを
Fedoraの場合:
yumのPVをインストールします
(あなたは追加のソフトウェア倉庫を有効にする必要があります)。
18、あなたが再接続するには、リモートGNU画面を確立することができれば
SSH -t [email protected]は/ usr / binに/スクリーン-xRR
常にテキスト端末で開いて多くのシェルへのような人々は、会話が突然中断された場合、またはあなたが再接続することができ、リモートホスト上のシェルがわずかに影響されることはありません、「CTRL-D」を押して、他の有用なスクリーンコマンドは「Ctrlキーを押しながらC」(新しいシェルを開く)と(シェルとの間で前後に切り替えるために)「はCtrl-A」を持って、http://aperiodic.net/screen/quick_referenceはscreenコマンドの詳細読みご覧くださいクイックリファレンス。
19、SCP大きなファイルを続けます
$ホスト@ rsyncを-partial -progress -rsh = sshを$ file_source $ユーザー:$ destination_file
それはあなたがそのようなデータベースのバックアップに便利ですときのような大きなファイルを通じて転送するとき、あなたはホストの両側のrsyncをインストールする必要があり、rsyncのコマンドが失敗したVPNを回復することができます。
$ホスト@ rsyncを-partial -progress -rsh = sshを$ file_source $ユーザー:ローカルdestination_file $ - >リモート
若しくは
$ホスト@ rsyncを-partial -progress -rsh = sshを$ユーザー:$ remote_fileを$ destination_fileリモート - >ローカル
20、SSH W / WIRESHARKトラフィック分析
SSH [email protected]「「!ポート22 "-w -f tsharkの - 」| wiresharkの-k -i -
使用tsharkのキャプチャネットワークリモートホスト上のトラフィック、元のデータのpcap SSHを送信して接続し、ディスプレイはWiresharkのは、Ctrl + Cは、キャプチャを停止するだけでなく、ウィンドウのwiresharkを閉じ、に「-c#」パラメータを渡すことができますtsharkの、それだけでwiresharkのにSSH経由で直接送信されるのではなく、名前付きパイプを介して「#」を指定にパケットタイプ、またはリダイレクトデータを取得し、私はtsharkのは、tcpdumpの代替を使用することができ、帯域幅を節約するために、パケットをフィルタリングすることをお勧めします:
SSH [email protected]のtcpdump -w - 「!ポート22 '| wiresharkの-k -i -
21、永久にオープンSSHセッションを保持
autossh -M50000 -t server.example.com '画面-raAd mysession'
Wi-Fiホットスポットを切り替える必要がハンドオーバ後に接続を失うことがないことを保証できるのであれば、それらを保つためにSSHセッションを開いた後、ラップトップのユーザーの使用のために、恒久的に開きます。
22、より安定し、より速く、より強力なSSHクライアント
SSH -4 -C -Cふぐ-CBC
強制ではフグの暗号化を使用して、IPv4の、圧縮されたデータ・ストリームを使用しています。
制御帯域はCStreamを使用して23、
タール-cj /バックアップ| CStream -t 777k | sshのホストのタール-Xj -C /バックアップ "
使用フォルダを圧縮し、リモートホストへの777kビット/ sのレートに送信のbZIP。:より多くの機能をはCStream、など、http://www.cons.org/cracauer/cstream.html#usageより多くの情報をご覧ください。
エコーw00t、私は733+ | CStream -B1 -t2
24、別のマシンへのステップSSH公共交通機関
SSH-keygenは、ホスト@ sshのコピー-IDのユーザー。sshのユーザ@ホスト
この組み合わせは、パスワードなしでコマンドSSHログインにの〜/ .sshディレクトリの下に、ローカルマシンがすでに生成するSSH鍵ペアは、ssh-keygenのコマンドを持っている場合は、新しい鍵は、SSH-コピー-IDそれらをカバーするかもしれないことをメモしてことができますあなたが鍵パスワードを使用しない場合は、リモートアカウントの〜/ .ssh / authorized_keysファイル、使用のSSH接続にリモートホストとAPPENDへの鍵をコピーし、コールsshのユーザ@ホストはすぐにリモートシェルが表示されます。
あなたのX11バッファにコピーされた25、標準入力(stdin)
sshのユーザー@ホスト猫/パス/に/いくつか/ファイル| XCLIP
あなたは電子メールに内容をコピーする作業のコンピュータにファイルをコピーするためにscpコマンドを使用していますか?XCLIPあなたは、それはX11標準入力バッファにコピーすることができます助けることができる、あなたがする必要があるが、バッファの内容を貼り付けるために、マウスの中ボタンをクリックします。
最初のステップ:公開鍵と秘密鍵のペアを生成するために、ローカルマシン上のssh-keygenのを使用して
- $ sshの-keygenは
ステップ:コピーし、リモートマシンへの公開鍵でSSH-コピー-ID
$ SSH-コピー-ID -iの.ssh / id_rsa.pubユーザ名@ 192.168.x.xxx
注: SSH-コピー、上記のidが キー、リモートマシン〜/書き込みます の.ssh / authorized_keyファイルを。
:第三段階 にログオンし、パスワードなしでリモートマシン
- $ Sshのユーザ名@ 192.168.x.xxx
- 最終ログイン:日11月16日午後5時22分33秒2008 192.168.1.2から
よくある質問:
- コピーのようなID上記-u-SSHユーカリユーカリ-iの〜/ .ssh / id_rsa.pub SSHユーザー名@ 192.168.x.xxx
- 最初のログオンパスワードを要求します
上記のユーカリのユーザーパスワードの着陸権を与えられていません
- / usr / binに/ sshをコピー-ID:ERROR:見つかりませんでしたアイデンティティ
利用オプション -i は値が渡されていないか、されている場合ならば、 の〜/ .ssh / identity.pub ファイルアクセスできない(存在しない)、 SSH-コピー-IDは、 エラーメッセージが表示されます(-iオプションがssh-に好まれます-Lコンテンツを追加)