sshとssh 2の間の無料パスワード登録の詳細

11172 ワード

もっと読む
http://blog.chinaunix.net/uid-26517277-id-4055228.html
 
SSHはSecure Shellの略語であり、IETFのネットワークワークグループ(Network Work Group)によって制定された.SSHは、アプリケーション層とトランスポート層に基づいて作成されるセキュリティプロトコルである.ウィキペディアでは、SSHに関する詳細なフレーズがありますが、SSHはクライアントが前のサーバに安全に登録して管理操作を行うことができます.だから、FTP、POP、Telnetを忘れて、SSHを愛しましょう.
基本的な部分から始めましょう.まず、Macbookがあると仮定して、前のUbuntuサーバに登録して管理操作を行いたいです.まずUbuntuサーバにSSHサービスをインストールしてください.SSHサービスは最初はフィンランドのある会社によって開発されました.現在はSSH 2バージョンに発展していますが、著作権や暗号化アルゴリズムなどの影響で多くの人がOpenSSHに転用し始めました.この名前を聞いて、オープンソースと無料です.
以下のすべての操作にはroot権限を持つアカウントが必要です.通常はサーバー上で直接rootに登録することはあまり推奨されていませんので、普通のユーザーに登録して、命令の前にsudoを追加してroot権限を取得します.
1.とりあえず恒例にします.
sudo apt-get update sudo apt-get upgrade
2.OpenSSHサービスのインストールを開始します.
sudo apt-get install openssh-server
3.Ubuntuはすべての依存関係問題を解決してくれます.OpenSSHサービスをインストールしてくれます.これからはより速くて安全な目的を実現するためのいくつかの構成ができます.具体的な修正はここを参照してください.
これでインストールが完了しました.次はMacbookから登録してみます.Ubuntuにユーザーtesterが存在すると仮定します.Macbookでアプリケーション-ユーティリティ-端末を選択して、開いている端末に入力します.
#    S_IP       IP   ssh tester@S_IP
そしてtestのパスワードを聞いて、パスワードを入力すればログインして操作できます.
パスワードを入力するたびに煩わしいです.また、安全ではないです.他にも潜在的なリスクがあります.だから、SSHは鍵に基づく認証機構を提供しています.あなたは自分のために鍵を作成して、公開鍵を必要なサーバーに置いてください.クライアントソフトはサーバーに要求します.あなたのプライベートスプーンで安全検証をお願いします.サーバが要求を受信したら、まずサーバのユーザルートディレクトリの下で公開鍵を探して、それをあなたが送ってきた公開鍵と比較します.二つの鍵が一致すると、サーバは公開鍵で「質問」を暗号化してクライアントソフトウェアに送信する.「仲介者」に攻撃されないようにします.
前に述べた原因のために、卵痛が発生します.SSH 2のSSHサービスも好きです.SSH 2とOpenSSHの暗号化アルゴリズムは全く違っています.彼らが使っている鍵のペアも互換性がありません.したがって、次の4つの組合せが現れます.1.OpenSSHクライアント対OpenSSHサーバ2.SSH 2クライアント対SSHサーバ3.OpenSSHクライアント対SSHサーバ4.SSH 2クライアント対OpenSSHサーバ仮定クライアントCは、ユーザtester登録サーバSを利用しようとしています.様々なグループの結合において、鍵の登録方法を確認します.
1.OpenSSHクライアントはOpenSSHサーバに対して、これは最も簡単で、最も一般的な状況です.まずCで操作します.
ssh-keygen -t rsa
生成された秘密鍵は~/.ssh/id_に保存されます.RSaは、秘密鍵が必ずこの名前ならば、Cのsshクライアント構成を変更してから公開鍵IDを取得しないように注意する.rsa.pubはSにアップロードします.
#  S_IP       IP,     tester     /home/tester scp ~/.ssh/id_rsa.pub tester@S_IP:/home/tester/.ssh/
その後、サーバSでは次のように操作します.
cd /home/tester/.ssh cat id_rsa.pub >> authorized_keys
サーバSを終了して、Cから再登録してください.
ssh tester@S_IP
意外です.もうパスワードを入力しなくてもいいです.
2.SSH 2クライアントはSSH 2サーバに対してもこのような状況は簡単です.SSH 2バージョンのsshサービスはもう新しいツールができました.まずCで操作します
ssh-keygen2 -t rsa
なお、これはC上の現在のユーザのディレクトリのこの位置にあります.rsa_2048_aとid_rsa_2048_a.pubは~/.ssh 2/ディレクトリの下にファイルidentificationを作成し、秘密鍵を指定してください.
cd ~/.ssh2/ vi identification #       IdKey id_rsa_2048_a #    
そして公開鍵ID(u)をrsa_2048_a.pubはサーバSにアップロードされます.
#  S_IP       IP,     tester     /home/tester scp ~/.ssh2/id_rsa_2048_a.pub tester@S_IP:/home/tester/.ssh2/
その後、サーバSでは次のように操作します.
cd /home/tester/.ssh2 vi authorization #        Key id_rsa_2048_a.pub #    
サーバSを終了して、Cから再登録してください.
ssh tester@S_IP
これは仕事ができます.
3.OpenSSHクライアントがSSH 2サーバに対してこのような状況は最も複雑なもので、ネットワーク上の多くの無料パスワードでSSHにログインする文章はこのようなことに触れていません.具体的には、どのように配置するべきかを紹介します.まずCで操作します.
ssh-keygen -t rsa
生成された秘密鍵は~/.ssh/id_に保存されます.RSaは、秘密鍵が必ずこの名前ならば、Cのsshクライアント構成を変更しない限り、公開鍵をSSH 2に対応するモードに変換し、次のコマンドを使用してください.
cd ~/.ssh/ ssh-keygen -e -f id_rsa.pub > id_rsa_2.pub
そして公開鍵ID(u)をrsa_2.pubをSにアップロードする
#  S_IP       IP,     tester     /home/tester scp ~/.ssh2/id_rsa_2.pub tester@S_IP:/home/tester/.ssh2/
その後、サーバSでは次のように操作します.
cd /home/tester/.ssh2 vi authorization #        Key id_rsa_2.pub #    
サーバSを終了して、Cから再登録してください.
ssh tester@S_IP
これは仕事ができます.
4.SSH 2クライアントはOpenSSHサーバーに対してこのような状況が一番痛いです.とても珍しいですよね?これはビジネスライセンスのサーバーを使ってオープンソースのサーバーを管理するという意味ですか?このような状況の配置はとても簡単ですが、基本は1と一致します.SSH 2原生もSSH 1を支持しますので、1の構成をご覧ください.
上で述べたすべてを理解し終わったら、リンクを引用することも含めて、SSHを仕事の各方面に適用することができます.以下にも少し明らかにします.普段から知っておくべき秘密書があります.
1.SSH 2鍵とOpenSSH鍵の相互変換.
#OpenSSH SSH2 ssh-keygen -e -f OpenSSH.pub > SSH2.pub #SSH2 OpenSSH2 ssh-keygen -i -f SSH2.pub > SSH2.pub
2.普段はWindows環境でSecureCRT、XShell及びPuttyなどの優れたSSHクライアントソフトを使用していますが、SSHの仕事をもっと楽にすることができますが、MacまたはLinux環境でコマンドラインのSSH操作がもっと自然であれば、コマンドラインのSSHはどのように代理を使用しますか?以下、OpenSSHクライアントを例にとって、2つのサーバS 1とS 2があると仮定すると、1つのプロキシサーバP 1の80ポートを通じて接続できるようになる.
vi ~/.ssh/config #       Host S1_IP S2_IP     ProxyCommand nc -X connect -x P1:80 %h %p     ServerAliveInterval 60

  ,   scp         ssh ssh2         :
"scp-FATAL:Executing ssh 1 in comptibility mode failed(check that scp 1 is in your PATH)."Quote 1:This problem is perplexing,since a ssh-V trace may showthat're ussing His-someage 1"What's happening is this:1.On the OpenSSH client,you run say,scp foo
server:bar 2.scp run s ssh in a subprocess to connnect to the server,and run the remote comand scp-t bar.Thisisisisinted to stastance of the scp program on the server,andthe the twowoscp's will cocococococococorererererererererererererererererererererererererererererereconconconconconcons s thethethethethethethe proproproproproproproproproproproproproproproproproproproproproproproproproconconconconconconconconconconconconconconconconrererereininininininor 2,it doesn't mater)However,the“scp”that gets run on the server isthe SSH H 2 scp program,not the OpenSSone.The crux of the problem:besides the name,these woscatttttscatttttttxxxxproproproprospspspspspininininininaphphphphphphphphphphininininininininininininininininininininaaaaphphphphshshshshshshshshshshshshshshshshshshshshoneoneoneoneoneoneone.the.the.Th.Th.the.Th.Th.the.ver,scp 2 recognizes from the-tflagghat's expected、and tries exec scp 1 to service the connectctction(thisisthe extet of SSH 2's SSH-1 copatibility;where OpenSSH has code for both protocolsininininininininininsigset set set of proprograms s s、SSspspspspspspspspspececececs s s s s s s s s s s s s s s s s s s s s s proproproproproproproproproproproproproproproproproproprogrgrgrexxxxcocococococococococococococococococococococococoSSH 1 installed),reports the problem.The solution is to install einthe OpenSSH or SSH H H H 1 version of scp on on the server under the server the name“scp 1”,somehere in the sshd 2's PATH.Quote 2:OpenSSH implemens“COCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOCOth implement s、but it's client only uses the RCP version.So if the client is OpenSSH,use"s
ftp"to get to an ssh.com server.
            openssh  client,     ssh2 server,
                 ,    tar       :
scp 2(){tar cf-C]$name@server_ip--「tar xmf--C$2」}scp 2 r(){ssh user_name@server_ip--「tar cf--C$(dirname$1)」($basename$1)