SSH その8
よくある質問 Q.公開鍵認証などは使用せず、パスワードによる認証を行う場合でも そのパスワードは暗号化されているのですか? A.はい、その通りです。 SSHプロトコルでは、まず始めにサーバ<->クライアント間で 暗号化された通信路を確立します。 ユーザ認証はその暗号化通信路の上で行なわれるので、 パスワードなどもちゃんと秘匿されています。 Q.最近、root,test,admin,guest,userなどのユーザ名で ログインを試みる輩がいるのですが? A.sshdにアタックするツールが出回っているようです。 各サイトのポリシーに従って、適切な制限をかけましょう。 参考:http://www.st.ryukoku.ac.jp/ ~kjm/security/ml-archive/connect24h/2004.08/msg00030.html ◇規格等 ・RFC4250: The Secure Shell (SSH) Protocol Assigned Numbers ・RFC4251: The Secure Shell (SSH) Protocol Architecture ・RFC4252: The Secure Shell (SSH) Authentication Protocol ・RFC4253: The Secure Shell (SSH) Transport Layer Protocol ・RFC4254: The Secure Shell (SSH) Connection Protocol ・RFC4255: Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints ・RFC4256: Generic Message Exchange Authentication for the Secure Shell Protocol (SSH) WideのSSH解説 http://www.soi.wide.ad.jp/class/20000009/slides/12/ http://www.macssh.com/index-2.html MacSSH はこれかな。 X より前の Mac OS 用っぽいから削除でもいいかと。 RLogin http://nanno.dip.jp/softlib/man/rlogin/ が入ってねーな。SFTPも使えたり結構高性能。 難点は名前がクッソ紛らわしいのと、フォント周りが使いにくい事。 >>10 10ページにウソが書いてある。しれっとウソが書いてあると その先読む気にならないよね。でも頑張って次ページに進む と「公開鍵で制限出来る事」… ダメだこりゃ 文脈からして 秘密鍵(を格納したファイルid_rsa) 公開鍵(を格納したファイルauthorized_keys) だろ。 スライドなんだから文脈からわかることは聴衆が補完くらいしろや。 >>12 秘密鍵で暗号化したものを秘密鍵で復号できないわけなくね あぁ「でのみ」って書いてあるか。 できないであってると思うけどな。 文脈からいってssh2の公開鍵認証について説明している。 ssh2の公開鍵認証は暗号化→復号ではなくデジタル署名→検証 RSAは署名/検証, 暗号化/復号のどちらにも利用できるが、 DSAは署名/検証は出来るが、暗号化/復号は出来ない 筆者はssh2の認証方式を理解していないと判断せざるを得ない 11ページ 誤 公開鍵で出来る事 正 公開鍵認証で出来る事 その先は読む気にならない >>16 は?秘密鍵から公開鍵が得られないとでも? そもそも秘密鍵で暗号化するっていうのがおかしいんだが。 >>18 > は?秘密鍵から公開鍵が得られないとでも? 得られない。中学生でも理解してる。 SSH-KEYGEN(1) BSD General Commands Manual SSH-KEYGEN(1) ssh-keygen -y [-f input_keyfile] -y This option will read a private OpenSSH format file and print an OpenSSH public key to stdout. 「秘密鍵ファイル」には「秘密鍵」と「公開鍵」が格納されているので「秘密鍵ファイル」から公開鍵は得ることが出来るが 秘密鍵から公開鍵を得る事は出来ない そこを峻別するんだとしたら「秘密鍵」でどうやって暗号化するの さあ? 公開鍵暗号を暗号化/復号に使うと思い込んでたのはスライド書いた奴だからな 書いた奴に聞けよ > 文脈からいってssh2の公開鍵認証について説明している。 そういう文脈だとわかってるやつが > ssh2の公開鍵認証は暗号化→復号ではなくデジタル署名→検証 > RSAは署名/検証, 暗号化/復号のどちらにも利用できるが、 > DSAは署名/検証は出来るが、暗号化/復号は出来ない みたいなずれた話を持ち出してくる意図の方がわからん。 スライドのコメントに書いてあげるほうが建設的じゃないか。 >>24 > ssh2の公開鍵認証は暗号化→復号ではなくデジタル署名→検証 秘密鍵と公開鍵ってのは鍵の使い方の話で、鍵の能力の話じゃないからねぇ… >>14 暗号化に使った鍵で平文化は出来ないよ。そうでないと公開鍵暗号が成立しない。 公開鍵暗号は暗号化鍵を公開鍵として、平文化鍵を秘密鍵とする。 電子署名では暗号化鍵を秘密鍵として、平文化鍵を公開鍵とする。 暗号化鍵から平文化鍵が計算できるアルゴリズムは電子署名にしか使えず、 平文化鍵から暗号化鍵が計算できるアルゴリズムは公開鍵暗号にしか使えず、 どちらの鍵からももう一方の鍵を計算出来ないアルゴリズムはどちらにも使える。 さらに暗号化鍵と平文化鍵を入れ替える事ができる場合は単一の鍵ペアで両方できる。 秘密鍵ファイルの中に公開鍵も一緒に保存してあるか、秘密鍵から公開鍵が算出できるなら平文化できるけど、 電子署名でどちらも満たさない場合は復元できないよ。(普通は署名書として公開鍵添付するからンな事ないが) >>33 「公開鍵暗号を暗号化/復号に使うと思い込んでたのはスライド書いた奴だから」 スライドのどこで、それが分かる? p10 は「秘密鍵/公開鍵」という用語を鍵ペア(データ)のどちらか一方という意味と それをファイル(文字列)化したものという意味の二つの使い方を同じページで 使ってるのがまずいと思う。 2行目の「秘密鍵からは公開鍵が生成できる」は「いわゆる秘密鍵ファイルには 公開鍵情報も含まれているので、公開鍵情報を取り出せる」という意味だろう。 好意的に解釈すれば。 このスライドを書いた奴は分かってないはず、という見地に立てば、秘密鍵ファイルから 公開鍵を取り出せることを、秘密鍵から公開鍵が生成できると勘違いしているともとれるが。 p11の「公開鍵で制限出来ること」というタイトルに対して「公開鍵認証で出来る事」という案を出しているけど このページの話題は openssh の sshd の実装の話(他のsshサーバーでもこうなのかどうかは知らないので 間違ってたらごめんだけど)だから、誤りというほどではないと思う。 用語の使い方に「怪しい」ところがある、ということなら 初心者には勧められない、ということになると思う ちゃんと自分で解釈を脳内補完できる人には 多少の「誤解を招きかねない」表現も問題ないだろうが 件のドキュメントはそれができない人向けなんじゃ? 厳密に書こうとすると無闇にややこしくなっちゃって 初心者にわかりづらくなることもあるよね >>34 > p10 は「秘密鍵/公開鍵」という用語を鍵ペア(データ)のどちらか一方という意味と > それをファイル(文字列)化したものという意味の二つの使い方を同じページで > 使ってるのがまずいと思う。 秘密鍵を格納したファイルから公開鍵を取り出す事を「秘密鍵からは公開鍵が 生成できる」と表現したのなら、公開の場で発表する能力が無いって事だ。 >>35 もくじを見ると件のページは、おさらいの一部になっている。 ということは自分で脳内補完できる人向けじゃないだろうか。 >>38 ウソを拡大再生産する輩を全部憎んでいる 死ねばいいのに コメントなりtwitterなりで指摘しないと ここで叩いても気づかないんじゃないかな? 個人的には叩くほどのことじゃない気はする RSAの場合、2つの素数p, q(p≠q)に対し(p,q)を秘密鍵, pqを公開鍵にするのだから秘密鍵から公開鍵を生成するのは簡単だよね? >>49 id_rsaにmodules nとpublicExponent eが含まれてるから。 RFC 3447 PKCS #1: RSA Cryptography Specifications February 2003 A.1.2 RSA private key syntax An RSA private key should be represented with the ASN.1 type RSAPrivateKey: RSAPrivateKey ::= SEQUENCE { version Version, modulus INTEGER, -- n publicExponent INTEGER, -- e privateExponent INTEGER, -- d prime1 INTEGER, -- p prime2 INTEGER, -- q exponent1 INTEGER, -- d mod (p-1) exponent2 INTEGER, -- d mod (q-1) coefficient INTEGER, -- (inverse of q) mod p otherPrimeInfos OtherPrimeInfos OPTIONAL } 引っ張ってるのはオレじゃない。必死でSSH力を擁護してる誰か。 賢者timeな者だけが石を投げなさい(冗談 sshに限らず、ツールの100%も使いこなせていないなー OpenSSHのsshd_configでChrootDirectoryを指定することってあるよね。 そのディレクトリに、 All components of the pathname must be root-owned directories that are not writable by any other user or group. こういう制限があるけど、ナンデ? >>56 rootの設定と関係なしにlnとかで好きな場所に出来てしまうからじゃ? ChrootDirectoryの親まではroot-ownedでroot以外not writableという制限は分かるような気がするんだけど、 例えば、chroot先を/home/oresama/ に指定するとき oresama がroot以外not writableになってると oresamaは自分のホームディレクトリのはずなのにディレクトリもファイルも作れない。 ちょっと厳しくないかと思う。 >>58 「あのぉ、root先輩、ChrootDirectoryを /home/watashi/dakeno/himitsu/ にしてもらえませんかぁ。」って頼んで 「おっふ、やっといた」となったら rmdir /home/watashi/dakeno/himitsu ln -s /root /home/watashi/dakeno/himitsu 「計画通〜り」ってことだよね。 このためには/home/watashi/dakeno がwritableでなければ出来ないでしょ。 himitsu は writableでもかまわないんじゃないだろうか。 >>60 Chrootにつっこまれる他のユーザを騙すことはできるようになるな >>59 /etc/shadowとか自由に作れるがそれでいいのか? そっか、mv して新しく作ることが可能になるのか。 いくない。それは、いくないな。 >>59 あんま詳しくないけど、chroot先とホームディレクトリは別々じゃなかったけ? OpenSSH No Longer Has To Depend On OpenSSL - Slashdot http://beta.slashdot.org/story/201419 試してみたい 中国とかは法律的な理由もあるかも 暗号化通信は当局が解読可能な状態にしないと駄目なんだっけ? VPN張る事自体問題視されるとか聞いたことあるけど 今SSHについて勉強してます。 どなたかRSA1、RSA、DSAの違いにつ いて教えて頂けませんか? メリット、デメリットがわからず、どれを使って良いのかわかりません。 自分で調べろやは無しでお願いします。 >>71 shでも学んでろ。 532 名無しさん@お腹いっぱい。 sage 2014/09/14(日) 17:11:01.54 今シェルについて勉強してます。 どなたかash、bsh、cshの違いにつ いて教えて頂けませんか? メリット、デメリットがわからず、どれを使って良いのかわかりません。 自分で調べろやは無しでお願いします。 >>74 なに(笑 このコピペみたいなカキコは!(笑) お、俺じゃないんだからね みたいなじゃなくて改変コピペそのもの こんなつまらんことを時々思い出したかのように繰り返してる狂人だからスルー推奨 # netstat -n | grep 22 したら、知らないホストでESTABLISHED接続になってて # cat /var/log/secure| grep 知らないホスト(ロボット?) から複数のアタックがあったのだけど、session openってログ無かったんですが、 ssh のセッションがESTABLISHEDになることってあるのでしょうか? >>79 tcpのセッションとsshのセッションを分けて考えないと。 >>81 , >>82 ありがとうございます。 /var/log/secureでsession openになってないので気にしなくていいのですね。 ポートNo変えようかなーと思ってます。 >83 なんなら log をverbose にして暫く見張る。ま、port 番号変えるほうが対策になるけど。 秘密鍵使ってて、sshポートのハッキングなんてあるえるのでしょうか。 >>85 パスワード認証許可してないかノックしてるんだろ。 >>85 とある共用鯖で、アホな鯖管がルート奪取脆弱性ありのカーネル放置していて、これまたよく分かってないユーザが、何人も公開鍵、秘密鍵を一遍に取られてえらいことになった、つう事案があったよ。 「公開鍵を送ってくれ」と言ったら 秘密鍵も送ってくるユーザーの多いこと多いこと。 TCPラッパーが使えなくなると地味に困るなあ・・・ なんでサポート切っちゃうんでしょうか もしかしたら ifconfig みたいにメンテナがいないからじゃない? ftp 覗いてみたら tcp_wrappers_7.6.tar.gz のタイムスタンプは Apr 8 1997 だった sshd -iでinetdから上げるようにしてinetdのtcpwrapperを使うかね sshd_configのMatch AddressとDenyUsers, AllowUsersあたりでかわりにがんばれってことかなぁ とりあえずはpf.confでやるけど PAMでやれ、ってことかな。 pam_accessとかpam_login_accessとか。 誰か知ってたら教えて欲しいんだけど、UseDNSって何のために存在しているの? manとか見るとクライアントのIPから逆引きでホスト名を確認して IPアドレスとホスト名のマッピングが出来なかったら接続を許可しないって動きの ようにみえるんだけど… この辺の詳しい動きがよくわからん 「逆引きまともに設定してないやつらなんて信用できるか!」 って人のために存在している。 クライアントの IP アドレスを逆引きしてホスト名を得る →そのホスト名を正引きして IP アドレスを得る →その IP アドレスが元のと一致してなかったら蹴る そんなごく当たり前のIP逆引きチェックそのものを質問してるわけない、 質問の意図は別のところにある、と見るべき引っかけ問題。 UseDNSをnoにすることってないのになぜオプションがあるのか、という質問? IP解決はDNSとは限らない(NISとかhostsとか)のになぜDNSという設定名? 逆引き出来ないクライアントから接続しているユーザーからの 「なんかログインに時間かかるんだけど」というクレームに 対応するため、逆引きをしないようにする機能だろ。 「それは逆引き設定しろ」と言えば済む話で、sshdの設定を変えるべきではない。 1ユーザーの逆引き無視要求で、全ユーザーの逆引きチェックを無効(危険)に晒すなんて、、 ごめん、言葉が足らなかった。 このUseDNS、デフォルトだとYesになっていると思うんだけど、クライアントが逆引き出来ない状態 (DNSサーバへの接続が出来ない状態やそもそもレコードにIPが登録されていない状態)でもSSHって接続出来るじゃない? だとしたら、どういう時に使えるの?と思って。 1.IPアドレスがDNSに登録されている状態 かつ 2.そのホスト名を再度正引きしたら違うIPアドレスになっている 上みたいな状態の時だけは接続させないって認識であってるのかな? レコードにいなかったり、DNSに接続出来ない時はそのままSSH接続出来るって事はわかるんだけど… rhosts認証を突破されないためのオプションだよ。 >>113 rhosts認証って、sshd_configのデフォルト設定だと有効になっていないよね? てことは、sshd_configがデフォルトの状態のまま利用されていたら、このオプションでやってくれることってログの記録時にホスト名でロギングしてくれるくらいって 認識であっているかな? 他の何か利用用途ってあります? >>116 > 考えてもしょうがないからさっさとnoにしちゃえよ インシデントになったせいで、会議で説明しなきゃならないんだよ 自分がやるべきことを掲示板に丸投げしてドヤ顔かよw ウソ教えられて、会議でそれを突っ込まれたら、2chで聞いたと言い訳するのかな? >>118 >>119 とはいっても、サポートよりここの住人の方が詳しいし頼りになるし… 教えてもらった情報を元に海外のサイトとサポートで裏取しようと思ってたんだ 仕様の部分がもうよくわからなくて… かまってもらえるのは回答者にとって興味がある場合だけ >>120 ホスト名で認証しない限りUseDNSはNoでいい。 今時IgnoreRhostsがnoになってることはないだろ。 デフォルトはrsh引きずってるだけ。 かまうと調子こいてソースは?とかエビデンスは?とか言い始めるぞw というわけで、このスレでのSSHに関する情報交換は全面禁止となりました。 ログインシェルをsshに変えたいんですが、chshでやろうとするとエラーになります。 どうすればいいですか? まずはその屏風からsshとかいうシェルを出してみてください sshはすでにインストール済みで、動作確認済みです >>127 >>129 出来ません、出来ません。 SSHにはそんなこと出来ません。 >>127 /etc/shellsにないんじゃないか。 ログインできなくなってもしらんけど。 /etc/shellsですか、ありがとうございます。 今環境がないので明日、客先で試してみます。 >>126 × このスレでのSSHに関する情報交換は全面禁止となりました ○ このスレでのSSHに関するサポート乞食は全面禁止となりました 132=129=127なのか、ネタレスだったのかはしらんけど、 本気でそれを客先でやったらとんでも無い事にはなるだろうなぁ… sudoも出来ない状況だと、hddを別のに刺して直すしか思いつかん。 UNIX板には死語レベルのコピペにマジレスするピュア()な中高年が多いですね SSH で接続すると、日本語入力ができなくなるのだが、、これって無理なの? Cygwin → LinuxMint LinuxMint → LinuxMint(別ユーザー) ターミナル または 、ssh -X で手元に表示したアプリでも日本語入力できない。 LinuxMint単独だと、 Mozcとかで日本語入力できてるんだけど。 >>139 この場合日本語入力はローカル側のが使われるんだよ。sshログイン先のホストのものではない。 必要な環境変数が設定されてないとエスパー。 >139-142 失礼しやした。 結論から言うと、リモート先で、 export XMODIFIERS="@im=fcitx" と入力することによって、 GUIアプリ(Firefoxとかgvim)でも、日本語入力(Mozc)ができるようになりました。 で、後は、この export 文を設定ファイルで自動読み込みさせたい。 .bashrc に書くのはイマイチだし、 かといって、.ssh/rc に 書くと、 今度は、sshが、 xauth を読まなくなる。 これについては、 SSHのマニュアルか http://www.unixuser.org/ ~euske/doc/openssh/jman/sshd.html 個人ページ http://namazu.org/ ~tsuchiya/ssh/ http://uncorrelated.no-ip.com/20101225.shtml を参考に対処できそう。 自己レス >>143 LinuxMint→LinuxMint へ、ssh -X でリモートログインした場合、 export XMODIFIERS="@im=fcitx" すれば、gvim等のGUIアプリでも日本語入力のインターフェースが使えた。 だけど、~/.ssh/rc に記述すると xauth関連が良く分からないのであきらめ。 おとなしく、exportを手打ちするか、source することにした。 それから、 cygwin → LinuxMint へ ssh -X で リモートログインした場合は、 リモートの Xアプリ(gvim)にて、日本語入力インターフェースを使う方法が見つからなかった。 orz cat .ssh/id_rsa | ssh username@remotehost 'cat >> .ssh/authorized_keys; chmod 600 .ssh/authorized_keys' これだと秘密鍵をremotehostに持ち出すことになるよね? このあと特にエラーが出るわけでもないから初心者だと気づかないかも。 なんで秘密キーを公開キーのファイルに追記してんの?w >>146 公開鍵登録しろよ。多分id_rsa.pub >>147-149 川本安武とかいうバカが元凶のようだ。 http://books.google.co.jp/books?id=iUcoBQAAQBAJ& ;lpg=PR1&hl=ja&pg=PA35#v=onepage&q&f=false ~/はシェルに依存だから。 >>や;も意図したとおりに解釈してくれないかも知れないが。 ~/ を解釈しないシェルって何だ? dashもbusyboxのshも解釈するぞ /bin/shがThompson ShellとかBourne ShellでOpenSSHが入ってる環境とか 無理やり作ろうとしても大変だなww うん、ありますね。 で、それをわざわざ使わせて 「~/ はこのシステムでは使えない、だからスクリプトを書く時は~/を使うな」 と教え込むんでしょうか? ~ を解釈しないシェルで ~ を使ってしまう危険性より ホームディレクトリ以外で >>150 のコマンドを実行してしまう危険性の方が高いんじゃないかな。 >>158 ホームディレクトリで実行する方が危険だろ。 それ以外ならエラーで済む。 お前、川本とかいうバカ本人? まだわかって無いの? 何冊売れたか知らんけど、その記述を鵜呑みにした読者を危険に晒してるんだぞ。 死ねば? >>150 = >>159 はここで作者disる暇あったらgihyoに本の回収絶版でも申請すれば? だから訂正でも謝罪でも訴訟でもなく作者の死を望んで何になるのよ とりあえずお前があの本以外から一切の情報を仕入れず、ネットで検証もせず 鵜呑みにしてやらかして逆切れしたことはわかった 新山祐介さんの「入門OpenSSH」最強伝説がまた証明されてしまったな ttp://www.unixuser.org/~euske/doc/openssh/book/index.html おまえらネットも本も間違ってるから絶対に参考にするな 新山祐介さんの「入門OpenSSH」だけを参考にしろ これ一冊あれば何もいらない 間違った記述すると、瞬殺で特定されるとかgoogleさん怖すぎ。 >>165 161は160に死ねと言ってるのに162は作者に死ねといったと解釈した。 よって160=162=作者(というか筆者、川本)でなければ矛盾が生じるため、 「あの本以外から一切の情報を仕入れなかった被害者」である可能性を考慮する必要はない。 >>170 >>159 は(川本かもしれない)>>158 に「死ねば」と言った。 >>158 が筆者であると断定できるのは>>158 だけであるが、 お前は断定している。ゆえにお前が>>158 であり川本本人。 で、お前はこのスレで川本死ね川本死ねと呪詛を吐くだけで 他に被害者が出ないようになんとかしようという気は全く無いわけだ >>167 にある連絡先にクレームはちゃんとつけたのか? >>172 当たり前だ。タダでデバッグしてやる義理は無い。 読者を危険に晒した!というほどのおおげさなことなん? chmod 600してるからremotehostが共用だとしても本人以外の一般ユーザーからは見れないはずだし、 rootが信頼できないならsshすること自体が危ないわけだし。 scpしてchmodする直前のスキをつくというのはナシね。 物理的にハードディスクが強奪されるかrootアカウントがクラックされるかして、さらにパスフレーズのオフライン解析なんて、そこまでして狙われる初心者ってそんなにいるとも思えない。 >>174 > rootが信頼できないならsshすること自体が危ないわけだし。 そうなの? どんな危険性が? >>174 > rootが信頼できないならsshすること自体が危ないわけだし。 別のサーバーも同じキーペアで認証してたら何が起こるか考えてみたまえ。 >>175 キーロガー入りのログインシェルやカーネルに差し替えられてたらアウトじゃん? >>176 いや、問題ないよね? 秘密鍵のフォワードとかしてなければ cat .ssh/id_rsa はタイプミスだろ。かなり痛いミスだけど。 やってることは公開鍵認証のベストプラクティスとしてじゃなくて、 公開鍵認証をするには .ssh/authorized_keys に公開鍵を追記しますよ、と言うのを説明するためにやってるだけでしょ。 アルゴリズムを説明するのに擬似コードで書いてあるようなものだろ。 >>178 問題ないなら、お前の常用してる秘密鍵をここに貼り付けろよ。 >>179 まぁどいつもこいつもわかってて弄ってるだけなので…… >>180 ログイン先に秘密鍵おいておくとか頭煮えてるの? おだいじにね >>182 おれじゃなくて>>178 に言え。痴呆症ジジイ。 >>174 信用出来ない鯖という前提でsshするなら問題ない。 >>175 信用出来ない鯖にsshするついでにパスワード打ち込んだりエージェント転送しちゃう馬鹿には危険。 >>176 「sshすること自体が危ない」への反論ではなくさらなる危険の指摘だと思うけど、ちょっと言葉足らずだと思う。 >>177 信用出来ない鯖に保護したい情報打ち込んだりしないのでsshに脆弱性がなければ関係無いです。 ていうか脆弱性があってもそれを突く場合に差し替えるのはシェルやカーネルじゃなくsshdだろが。 >>178 176は「sshすること自体が危ない」への反論じゃなくて、アンカー先/引用部分が不適切なだけかと。 >>179 かなり痛いミスって指摘をいやそうじゃないってごねてるバカが居るように見える。 >>180 >>183 問題がないのは公開鍵を信用出来ないrootの居る鯖に置く行為の事だろ、馬鹿。 公開鍵と秘密鍵の区別がつかないとか、これも川本とか言う馬鹿のレスなのかなぁ… >>177 キーロガーあろうが、渡したくない情報を入力しなければ何も問題ない。 ウェブサーバーがログ取ってるからアクセスするの危険と言ってるようなもの。そりゃクレジットカード情報送るとかなら危険。 クライアント側で何か実行とかできるのかと思った。 >>184 >>>180 >>183 >問題がないのは公開鍵を信用出来ないrootの居る鯖に置く行為の事だろ、馬鹿。 誤読だバカ。 >>176 ,>>180 ,>>183 は全部オレだ。 「sshすること自体が危ない」ではなく「rootが信頼できないなら」への指摘だ。 言いがかりをつけるなら、どっちを引用したのか良く考えてからつけることだ。 誤記のひとつくらいしょうがないでしょ。 いずれ正誤表くらい出るよ。 一部のミスをあげつらって不安を煽るよりも、技術者全体のsshスキル底上げのためにも、むしろひとりでも多くの初心者が一度目を通すべきと思う。 >>187 不安を煽るというか、秘密鍵を意図せずアップロードする行為はどう考えても普通に危ないわw 正誤表が出ても初心者の類がそんなん見に行くわけがないし正誤表が出ても推奨なぞできん。 IPAに届けた上で、技評のトップページで謝罪訂正するレベル >>191 取った(殺った)というか拾った程度な感じ。 首を落とした奴を崇め奉ってる奴が居るから鬼の首みたいな扱いになってるけど、 実際の所は路肩のゴミを拾った程度の話でしか無い。さっさと捨てよう、こんなの。 >>194 どこをどう読んだらそんな解釈になるんですか川本さん 悪いrootが不精ならオフライン解析より/etc/profileでフィッシングする方が効率的かもね # /etc/profile if grep "RSA PRIVATE KEY" /home/$USER/.ssh/authorized_keys > /dev/null; then sleep 3 echo "Connection to $HOSTNAME closed." read -s -p "Bad passphrase, try again for /Users/$USER/.ssh/id_rsa: " passphrase echo "$passphrase" >> /tmp/passphrase-$USER fi >>199 おはよう、川本君。IPAには届け出たかね? 川本が!川本が俺を殺しに来る!! あいつのせいで俺の鍵が流出した!!! 川本許さねえ!絶対にゆるさねえええええええええええええええええええええ!!!!!!!!!11 これぐらいキレてもいいんだよきみ あけましておめでとう。 みんな、22 開けて使ってるの? 22 開いてるのがわかると root で突撃して来る .cn のバカが鬱陶しいから別ポートに変えちゃった。 fail2banしてるから22のままだなあ。 premitRootLogin noだしpassword認証も受け付けてないし。 22の方が便利ってわけでもないから変えてる わざわざ余計なログ吐かせて眺める趣味もないし 話の流れを切って悪いが、アクセス制限について質問です。 自宅用のSSHサーバーを作ろうと思って入門書を読んでいるんだが、 TCP Wrappeによるアクセス制限とPAM認証によるアクセス制限の違いがいまいちわからない。 例えば同一LAN内からのアクセスのみを許可したい場合、 <TCP Wrapperの場合>/etc/hosts.denyに「sshd:all」、hosts.allowに「sshd:192.168.」 <PAM認証の場合>/etc/security/access.confに「-:ALL:ALL EXCEPT 192.168.」 どっちでも同じ効果が得られる気がするんだが、挙動に違いはある? PAM認証を用いた方が細かく制御できるってだけ? 悪い接続元を弾くタイミングが違うとか? >>206 素人扱いするな、そんなことは知っている、って逆切れするような人じゃないことを祈りながら書く。 tcp wrapperも PAM もsshdに内蔵されているものではない。別個に開発されたライブラリをsshdが利用している。 機能に重複があるのは、そのせい。ユーザー(サーバ管理者)が利用するものを選んで設定する。 hosts.allow、denyを使う場合と、access.confを使う場合だが、動作の違いはある。 PAMはユーザーを認証するもの、tcp wrapperはコネクションを制限するもの。 なのでtcp wrapperはコネクションの最初で効く。PAMの認証は、その後で行われる。 これはsshdに限らない話。 tsharkなどを使ってモニターすると、接続が拒否されるタイミングがわかる。 sshd(openssh)の場合はPAM以外にもユーザー認証があり(ChallengeResponseAuthentication、PasswordAuthentication、PubkeyAuthenticationなど) そっちで認証が通ればPAMで認証されなくてもログインできる。 これはSSH始めました、の頃によくやる失敗なので、要注意。 設定ファイルの仕組みの話になるが hosts.deny、allowにsshd:xxx と書けば、これはsshd限定だが access.confはsshd以外も参照している可能性がある点も注意が必要。 >>207 正に知りたい答えでした。 この前に入門書を買ったばかりでググってもイマイチ分からなかったので、素人でも分かる説明で助かります。 ありがとうございました! 具体的な質問 に 的確な回答 単純明快なやりとりは見てて清清しい いい夜をありがとう >>206 OpenSSH 6.7以降だとtcpwrappers/libwrapのサポートが削除されてるから注意しとけよ 本日 psi.ip-colo.net からお越しになったお客様 PlcmSpIp 様、admin 様、backup 様、ftpuser 様、guest 様 manager 様、monitor 様、root 様、support 様、test 様 ubnt 様、user 様 Tera Term r2【テラターム】 - No.823 http://peace.2ch.net/test/read.cgi/unix/1225116847/823n 823 :823:2015/05/31(日) 16:53:55.57 > バージョン4.87リリース記念age! > > OpenSSH 6.8に接続できなくなってパニックになったサーバー管理者の方々 > が多かったのではないでしょうか。 > ということで、この問題が修正されたものが本日公式にリリースされました > ので、利用者はアップグレードをオススメしときます。 なんか懐かしい名前だ。 Windows からは Cygwin の ssh だからどうでもいい。 自分もputtyもteratermも捨ててcygwinの使ってるわ cygwinもMSYS2も、遠からず捨てる日が来るのかな 質問失礼致します。 scpコマンドで 「リモートサーバー」と「そことローカル接続しているサーバー」で、 ファイルのやり取りは可能でしょうか? 具体的には、旧筐体から新筐体へデータ移行を行いたいのです ただし旧筐体はネットワークから切り離されているという状況です ローカル接続とは具体的にどのように接続しているのでしょうか? 新筐体がリモートサーバーで、旧筐体が、そこ(新筐体のことでしょうか?)とローカル接続しているサーバーですか? 新筐体と旧筐体がローカルなネットワークで接続されていて 今の場所から、旧筐体にはログインできないが、 新筐体にはログインできて、新筐体から旧筐体にはログインできるのなら 新筐体と旧筐体の間でscpなりrsyncなりなんなりと使えるでしょう。 FTPのサーバー間転送みたいなことはできませんけど。 >>222 まさにそういう事です! 新筐体から旧筐体へはどのようにログインすればいいんでしょうか? http://qiita.com/maximum80/items/26034cf51f1ed5ce5988 こちらなどを見たんですが、新筐体へはログイン出来ましたが、 新筐体から旧筐体へのログイン方法が分かりません 旧筐体にはsshでログインできてましたか? まず新筐体にログインします。これは出来てるんですね。 シェルが使えるとします。 scpはsshと同じログイン方法なので、パスワードで入れていたのなら scp 旧筐体のユーザー名@旧筐体のサーバー名(IPアドレスのほうが確実かも):旧筐体内でのファイル名なりディレクトリ名 新筐体のディレクトリ名 scp root@192.168.1.20:/home/ /home こんな感じですかね >>224 大変ありがとうございます。 旧筐体にはログイン出来てないです $ ssh redadmin@192.168.1.20 とやってみたんですが、駄目でした そりゃあ勿論、旧筐体にsshでログインできるようにする。 今までどうやってログインしてましたか? >>228 旧筐体にはログインした事ないです 新筐体はIPアドレス・ID・パスワードでログインしました 使用したSSHクライアントソフトは Poderosa Tera Term です >>229 管理者権限でログインしないと設定できません。 旧筐体の管理者はどうしていますか? 旧筐体の中をあけてハードディスクを取り出したりできますか? >>230 色々本当ありがとうございます。 redadminでログイン後 rootにスイッチしました 因みにこれまでのはレンタルサーバーでの話です 旧筐体がクラックされた恐れがあるとかで、ネットワークから切り離され 新筐体へのデータ移行はサポート外なので自分でやれと言われてます >>230 旧筐体の管理者はどうやったら分かりますか? >>231 redadminでログイン後 どうやってログインしたのでしょうか? $ ssh redadmin@192.168.1.20 とやってみたんですが、駄目でした もう一度やってみたら出来たのですか? Poderosaで 新筐体IPアドレス・ID(redadmin)・パスワード を設定してログイン $ su → パスワードを訊かれてrootログイン 出来たのはここまでです。 $ssh-keygen $ vi ~/.ssh/config $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys /etc/ssh/sshd_config などをいじりましたが、旧筐体にはログイン出来ません ssh redadmin@旧筐体のローカルIPアドレス が旧筐体への接続コマンドだと案内されました >>234 public keyは旧筐体に入れないとダメです。 ssh redadmin@旧筐体のローカルIPアドレス でパスワードを聞かれませんか? >>235 訊かれないです Connection timed out になります。 >>236 ポートが22以外に設定されてるってことはないですか? nmapを新筐体に入れてポートスキャンはできますか? ネットワークから切り離されてるマシンにsshで入りたい、ってこと? >>231 データ移行はサポート範囲外でもログイン方法くらいはサポートしろよ、って言ってみ すみません今起きました >>237 どうやったら入れられますか? >>238 そうです >>240 旧筐体内のデータを移行するにはこの方法しかないと けれどこの方法はナレッジがない為、サポート外で、 自己責任でと言われ、外部サイトを紹介されました 過去に同じような事例で同じ案内した実績があると行ってました けれど上手く行った例は一軒も確認が取れてないそうです >>239 メールでの問い合わせは回答が遅く 電話での問い合わせは、メールで回答すると言い、 電話受付終了直前にメールが届きます 全然進みません・・・ >>241 旧筐体が現在も稼動していて、 新筐体と同じローカルネットワークに存在して、 そのローカルネットワーク上での旧筐体のアドレスが192.168.1.20だっていうことは確かなの? その情報はどこから入手したの? >>242 確かだそうです(IPは途中で訂正がありましたが) この情報はサーバー会社から頂きました ※192.168.1.20は数字を変えてあります >>243 その情報とこれをサポートから得ていて、 >ssh redadmin@旧筐体のローカルIPアドレスが旧筐体への接続コマンドだと案内されました 新筐体からssh redadmin@旧筐体のローカルIPアドレスをやった結果がこれなら >Connection timed out になります。 繋がらんぞとサポートに言うだけだろ >>245 まず最初の時点でSSHの知識がなかった為 他の手段を色々かけあいましたが、断られました 次にSSHを試してみて繋がらないので 問い合わせたところ、IPが違っていたと回答がありました それでも繋がらないので、先程ポートを確認しましたところ 22であっているとの事でした(今再確認してもらってます) 新筐体にログインして ping 旧筐体のローカルIP をやってみて Destination Host Unreachable と表示されたら ifconfig -a ip route ip rule の結果を教えて ただしifconfig -aのアドレスは置き換えて 結果をここに書き込むときに IPアドレスの類は全部置き換えて ローカルIPアドレスなら別にそのままでもいいんじゃね? 新筐体のアドレスを晒すかもしれないと思って、ねんのために >>247 ありがとうございます 「Destination Host Unreachable」は表示されませんでした PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data. 64 bytes from 192.168.1.20: icmp_seq=1 ttl=64 time=0.626 ms 64 bytes from 192.168.1.20: icmp_seq=2 ttl=64 time=0.627 ms 64 bytes from 192.168.1.20: icmp_seq=3 ttl=64 time=0.633 ms 64 bytes from 192.168.1.20: icmp_seq=4 ttl=64 time=0.624 ms 64 bytes from 192.168.1.20: icmp_seq=5 ttl=64 time=0.631 ms (中略) --- 192.168.1.20 ping statistics --- 98 packets transmitted, 98 received, 0% packet loss, time 97059ms rtt min/avg/max/mdev = 0.606/0.631/0.645/0.029 ms もうこっちでできることはないだろう 旧筐体に触れる人じゃないと解決できない クラックされてバックドアからしか入れなくされたのかもな 今日は、DenyHosts に引っかかる奴が一匹もいない。 >>252 そう思うのですが、応じてくれないのです(TT) 来週には旧筐体を回収すると言ってます・・・ レンタルサーバーのバックアップはどちらか行う契約になってたの? 自分で行う事になってたのなら、移行サポートは契約外サービス 向こうが行う契約ならば契約の履行を要求すればいい ところで、新筐体からssh -vvv redadmin@192.168.1.20した結果見せてよ。 >>257 最新の規約では客側となっておりました ssh -vvv redadmin@192.168.1.20 少々長いですが貼らして頂きます OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008 debug1: Reading configuration data /root/.ssh/config debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to 192.168.1.20 [192.168.1.20] port 22. debug1: Connection established. debug1: permanently_set_uid: 0/0 debug1: identity file /root/.ssh/identity type -1 debug3: Not a RSA1 key file /root/.ssh/id_rsa. debug2: key_type_from_name: unknown key type '-----BEGIN' debug3: key_read: missing keytype debug3: key_read: missing whitespace (中略) debug3: key_read: missing whitespace debug2: key_type_from_name: unknown key type '-----END' debug3: key_read: missing keytype debug1: identity file /root/.ssh/id_rsa type 1 debug1: identity file /root/.ssh/id_dsa type -1 debug1: loaded 3 keys debug1: Remote protocol version 1.99, remote software version OpenSSH_4.3p2 debug1: match: OpenSSH_4.3p2 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_4.3 debug2: fd 3 setting O_NONBLOCK debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib debug2: kex_parse_kexinit: none,zlib@openssh.com,zlib debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160@openssh.com,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,zlib debug2: kex_parse_kexinit: none,zlib debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: mac_init: found hmac-md5 debug1: kex: server->client aes128-cbc hmac-md5 none debug2: mac_init: found hmac-md5 debug1: kex: client->server aes128-cbc hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug2: dh_gen_key: priv key bits set: 123/256 debug2: bits set: 511/1024 debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug3: check_host_in_hostfile: filename /root/.ssh/known_hosts debug3: check_host_in_hostfile: match line 2 debug1: Host '192.168.1.20' is known and matches the RSA host key. debug1: Found key in /root/.ssh/known_hosts:2 debug2: bits set: 514/1024 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug2: key: /root/.ssh/identity ((nil)) debug2: key: /root/.ssh/id_rsa (0x98eda60) debug2: key: /root/.ssh/id_dsa ((nil)) debug1: Authentications that can continue: publickey,password,keyboard-interactive debug3: start over, passed a different list publickey,password,keyboard-interactive debug3: preferred gssapi-with-mic,publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Trying private key: /root/.ssh/identity debug3: no such identity: /root/.ssh/identity debug1: Offering public key: /root/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,password,keyboard-interactive debug1: Trying private key: /root/.ssh/id_dsa debug3: no such identity: /root/.ssh/id_dsa debug2: we did not send a packet, disable method debug3: authmethod_lookup keyboard-interactive debug3: remaining preferred: password debug3: authmethod_is_enabled keyboard-interactive debug1: Next authentication method: keyboard-interactive debug2: userauth_kbdint debug2: we sent a keyboard-interactive packet, wait for reply debug1: Authentications that can continue: publickey,password,keyboard-interactive debug3: userauth_kbdint: disable: no info_req_seen debug2: we did not send a packet, disable method debug3: authmethod_lookup password debug3: remaining preferred: debug3: authmethod_is_enabled password debug1: Next authentication method: password redadmin@192.168.1.20's password: debug3: packet_send2: adding 48 (len 61 padlen 19 extra_pad 64) debug2: we sent a password packet, wait for reply debug1: Authentications that can continue: publickey,password,keyboard-interactive Permission denied, please try again. redadmin@192.168.1.20's password: debug3: packet_send2: adding 48 (len 61 padlen 19 extra_pad 64) debug2: we sent a password packet, wait for reply Connection closed by 192.168.1.20 以上です これまで旧筐体にログインしたことはないそうだけど、 (Q1)旧筐体のredadminのパスワードは分かっているのか? debug1: Next authentication method: password redadmin@192.168.1.20's password: debug3: packet_send2: adding 48 (len 61 padlen 19 extra_pad 64) debug2: we sent a password packet, wait for reply debug1: Authentications that can continue: publickey,password,keyboard-interactive Permission denied, please try again. redadmin@192.168.1.20's password: パスワードが違っているのでは? (Q2)旧筐体にどうやってデータをアップロードしていたのか? FTPやWebDAVなどを使っていたのなら、新筐体からポートフォワードでデータをダウンロードできるかも。 >>264 本当にありがとうございます。 パスワード以外の可能性はなさそうですか? (Q2) これまで普通に使用していたサーバーが攻撃を受けて、ネットワークから隔離されてしまったんです。 戻す事はセキュリティ上出来ないから、筐体変更が必要と言われました。 それで新筐体を用意してもらったところ、旧筐体→新筐体へのデータ移行はサポート外と言われました。 (Q1) 昨日電話で問い合わせた時は、新筐体と同じと言われましたが、怪しいです。 旧筐体のローカルIPも後日訂正されましたし。 1日1項目しか進ませてくれませんw 因みに昨日の進歩は「iptables設定解除」でした。 これでパスワードが訊かれる所まで辿り着けました。 週末は休みなので、運が良ければ月曜の夜にパスワードを教えて頂けるかもしれません。 >>265 (Q2)旧筐体にどうやってデータをアップロードしていたのか? というのは、普通に使用していたという、その内容を聞いています。 例えばWordPressならWordPressの機能を使ってデータをダウンロードできるのではないですか? 新筐体でSSHが使えるのなら、ポートフォワード機能を使って旧筐体のWordPressにアクセスできる可能性があります。 >>266 FTPです。 WordPressは使ってないです。 ポートフォワード機能というのはパスワードなしでアクセス出来るんですか? >>267 旧筐体にSSHでログインするのは難しそうなので、データを取り出すために 他の方法で入れないかということです。 FTPを使っていたのなら、新筐体で ftp 旧筐体のIP とやってみたらどうでしょうか。 FTPでログインできるかもしれません。 ポートフォワードはSSHの機能で、手元のPCからは新筐体にアクセスし、 新筐体のSSHDが、そのアクセスを別のサーバー(今の場合は旧筐体)へ 中継してアクセスするものです。 旧筐体で使っていたのがWebアプリなら、この方法で手元のPCから 旧筐体にアクセスできるかも、と考えたのです。 >>268 ありがとうございます ですが、その前に旧筐体にSSH接続する事が出来ました ただ、ディレクトリが見つけられません お陰様でファイルの移行は無事出来ました。 しかし肝心のmysqlが接続出来ません。。 >>270 おまえさmysqlがどうこう言う前にみんなに説明することがあるだろ どうして今まではsshで接続できなかったのか sshで入れるならmysqldumpすりゃ良いんだろ >>270 dbのディレクトリごとtar ballにしてもってきちゃいなよ そうしたら、手元のマシンでいくらでもできると思うけど >>271 失礼しました 旧筐体のパスワードが分かった為です >>272 どうしてもエラーが出てしまいます ERROR 1045 (28000): Access denied for user '*****'@'localhost' (using password: YES) >>275 そのdbとwebアプリケーションで動いていたのなら、それこそmysqlのdbディレクトリを、まんま新筐体に持って行けば動くだろ? mysqlのバージョンを合わせりゃこれでも動くぞ それは、mysqlのファイルにリードパーミッションが無けりゃ出来ない。 >>273 mysqlディレクト毎をtar.gz圧縮して、新筐体に送信、展開したらPLESK毎動かなくなってしまいました ERROR: PleskMainDBException MySQL query failed: Unknown column 'ip_dual_stack' in 'field list' 0: common_func.php3:220 db_query(string 'SELECT login, type, ip_address, ip_dual_stack FROM sessions WHERE sess_id=""') 1: class.Session.php:420 Session->init(string '*.*.*.*') 2: auth.php3:197 >>280 そういうのはMySQLを止めてやるんだ >>281-283 稼働中のサーバーでやってしまいました(´Д⊂ モウダメポ しかもMySQLのバージョンが違ったかもしれません PLESKのバージョンも違うので これはサーバー会社に頼んで再インストールしかないですかね? >>284 新筐体のディレクトリはバックアップしてなかったのかよ... OpenSSHとOpenSSL 作者が同じと思っていたが実は違うのだ。 sshでクライアントからログイン出来るPCを制限しようとして etc/ssh/sshd_configに次の一行を付け加えました ListenAddress 192.168.1.100 そうしたら192.168.1.100からsshで接続できなくなりました OS: FreeBSD9.2 /var/log/messagesの内容は error: Bind to port 22 on 192.168.1.100 failed: Can't assign requested address. fatal: Cannot bind any address. 何が原因でしょうか、よろしくお願いします 自己解決、ていうか・・・ ListenAddressを設定するのは NICが複数有るような場合、どのNICで待ち受けるか、ですね それをクライアントのIPにしたら、接続できないのはあたりまえでした お騒がせしました、消えます ☆ 日本の核武装は早急に必須ですわ。☆ 総務省の『憲法改正国民投票法』、でググってみてください。 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、日本人の悲願である 改憲の成就が決まります。皆様方、必ず投票に自ら足を運んでください。お願い致します。 sshはDebianだから入ってるみたいだけどどうやって練習すんの? ここで聞いちゃダメだったら言ってくれ >>295 PCが1台しかないのにsshの練習ってどうやるのかなって思ってるだけ 自分のマシンにログインするとか、 仮想マシン立てるとか、 レンタルサーバ借りるとか 練習なんているかな 必要になったらおぼえればいいんじゃね スマホにSSHクライアントをインストールしてLTEだと正しく接続できたのですが wifi経由だと"Connection reset by peer"というエラーが出て接続できませんでした。 恐らくルータの設定に問題があると思うのですが、 どの辺をいじればいいのか何かキーワード的なものがありましたら教えてください。 すごく初歩的な質問で申し訳ないのですが sshで遠隔のLinuxマシン上でプログラムを実行したいと思っています。 プログラムの内容はWebを監視しながら常に最新のデータで ファイルを上書きしていくというものですが、、、 ssh -l root xxx.xxx.xxx.xxx cd ~/program/ ./check みたいな感じでプログラムを走らせることは出来るのですが その後はプログラムを走らせた状態でssh通信を終わらせたいのです。 今のところ Ctrl+cでプログラムを終わらせてexitでssh通信を終わらせてるのですが、 どういう風にすればプログラムを起動させたままsshを終了できるのでしょうか。 また、更にその後、プログラムを止めたいと思ったときに、 再度sshでログインして、実行中のプログラムを止めるみたいなことも可能なのでしょうか? linuxはyocktです。最近Intelのedisonを買ってみて 初めてlinuxのCUIを触ったもので全然勝手が分かっておらず・・・ screen LinuxならLinux板で聞きなよ ありがとうございます! まさにそれが知りたかったです SSHでスレタイ検索したのでUNIX板に来てしまったようです 失礼しました 初歩的な質問なのですが 一台のマシンから複数のマシンに 鍵認証させるにはどうしたらいいのですか? 最初は使い方が良く分からなくて 鍵をサーバ側で作っていた時期もあったよ おおらかな時代だったわ >>307 それが上手くいけまんでした 詳しお願いいたします >>309 "-v"つけて冗長出力を確認する エスパーすると、パーミションの問題な気がするけど 公開鍵認証とCA(自前の認証局)でユーザー認証とかってやったことある人いる? sshのフォントってどうやって変更できますか? bashじゃないですよ >>312 sshでもなんでも、それ自体にフォントなんて無い。 sshの「何の」フォントを変更したいんだよ。 sshの「何の」画面のフォントを変更したいんだよ。 テラタームならメニューの設定の中にフォントがあるで sshの「何の」液晶の画面のフォントを変更したいんだよ。 端末側じゃなくてサーバー側のロケーィルとか文字クォードの問題かもしぬ。 問1.そのカラー液晶の画面とやらにつながっているコンピューターのOSが何か答えよ。 問2.そのコンピューターで日本語が表示されるかどうか答えよ。 問3.使用しているSSH端末エミュレーターの名称を答えよ。 問4.SSHでログインしているサーバーのOSが何か答えよ。 問5.SSHでログインしているサーバーのロケールを答えよ。 問6.おぬしにSSHを使えと言った奴が誰か答えよ。 問1.NECです 問2.ケースを開ける時は電源プラグをコンセントから抜いてくださいと表示があります 問3.エミューレーターではありません 実物マシンです 問4.サーバーではありません 問5.サーバーじゃないのでわかりません 問6.シェルが使いたかっただけです >>326 よく聞け、新兵。これからお前が口からクソを吐く、その前と後ろにサーを付けろ。 NECなどというOSは存在しない。OSというはウィンドウズテンとかOSテンとかウブンツとかそういうものだ。 今から貴様のOSはNECではなくウィンドウズテンだ。もし違っているなら今すぐウィンドウズテンにするんだ。 次はターミナルだ。お前が使用しているのはテラタームだな。もし違っているなら今すぐテラタームをダウンロードしてインストールするんだ。 ここまでは出来ているんだろうな。よし、さっさとログインしてみろ。ユーザー名とパスワードを入力したな。 公開鍵を使用していないとしても、それはここでは大目に見てやろう。ただし今回だけだ。 uname -a と入力してみろ。最後にエンターキーを押すのを忘れるな。 これでシェルが使えているのが分かっただろう。 何が問題か言ってみろ。 'uname'は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 >>326 #のあとに、rm -rf /とタイプして"ENTER"キー押したらシェルが体験できるよ。 'rm'は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ファイルをコピーするにはどうすればいいんでしょうか? cpというプロンプトを使えと教えられたんですが、 やってみたら同じようなファイルが2つできただけで、 コピーはとれませんでした。 ちなみにログインシエルはSSHです。 >>337 同じファイルが二つできたらそれはコピーだろう >>339 画面コピーのことだろ 読解力ないやつだな もっと行間読めよ >>340 ファイルって書いてあるんですよねぇ。 コピーって印刷するってことかと思ったわ >>337 コンビニでファイル(紙)をコピーする。白黒なら一枚10円。 コピーの意味がわからないとか、久しぶりに本物を見た気がする >>337 馬鹿だな。 今時、ゼロックスできないとかw ファイルを移動するにはどうすればいいんでしょうか? mvというプロンプトを使えと教えられたんですが、 やってみたらファイルの名称が変わっただけで、 ファイルは職場のパソコンの中のまま移動しませんでした。 ちなみにログインシエルはSSHです。 >>346 そもそも mv を使ってファイル名が変わったということは きちんとコマンド入力して 移動先 を指定したということで その結果パソコンの中のままとかそういう表現はしない ネタとしても3番煎じだし、適切な改行もマイナスポイント 素人のまねをしようとしても まともさはにじみ出てしまう もっと狂気に身を委ねる必要があります >>346 省略語は嫌いだ。それは電子ファイル。電子ファイルとファイルは違う。 ファイルと言ったらコクヨに綴じたやつのこと。勝手に電子を省略しないように。 >>353 そんな筋肉モリモリマッチョマンの変態板があるの? 電子ファイルを電子コピーするにはどうすればいいんでしょうか? 電子cpという電子プロンプトを使えと教えられたんですが、 やってみたら同じような電子ファイルが2つできただけで、 電子コピーはとれませんでした。 ちなみに電子ログインシエルは電子SSHです。 SSHの暗号鍵を作成するとき、 RSAなんちゃらという表示と共に ○や・の落書きみたいな図が表示されますが、 それを生成するツールってなんでしょうか? 単独で使いたいので、手がかりだけでも 教えていただけるとありがたいです。 「ホテル 放射能」 を建設しようかと、考え始めています。 また、私たちの愚かな「放射能コワイ、コワイ」派の敵どもが、ギャーギャー騒ぐでしょう。 本当に、この愚か者たちは、自分の脳に張り付いた放射能恐怖症で、救いようのない者たちだと、思います。 10年後に死ぬ、おそらくそのうちの多くは、子供たちだと、この馬鹿たちは、信じ込んでいる。 私は、呆(あき)れかえる。福島では、誰も死なない。発病して死ぬ者はひとりもいない。そのように断言します。 私の同志は、山下俊一(やましたしゅんいち)長崎大学教授 (現在は、福島県立医大副学長も兼任している) である。 山下教授らに、バッシングの嵐を浴びせた者たちは、ずるい逃げ方をするな。「私は、そんなことは言わなかったよ」と言うな。 福島で放射能にせいで癌になる(放射能による癌は甲状腺がんだけである)人はひとりも出ない、という専門医学者の高田純の表明を私は尊重する。 専門家でもなく、放射能の人体への影響について、素人と同じくせに、偉そうに発言する者たちを、私たちは、厳しく排撃しなければならない。[1792] どっちが福島の人間たちに対して、犯罪的か。「福島に近寄ってはいけない」と、実名で書いた者たちを、私たちは、記憶していなければいけない。 私、副島隆彦が今も不愉快なのは、学問道場の会員を止(や)めた人が、1000人ぐらい出たことだ。[1879] 「今も会員でいる人たちには、その人間としての余裕がある。]会員に求められる資質はこれである。 道場を退会した者たちは、まず自らの信念とは何かについて真剣に考えなければならない。[1880] 山下(俊一)先生が『汚染されたものを食べても大丈夫』とテレビで発表した後、 チェルノブイリで活動していたグループが山下先生に電話をしたら『立場上仕方がなかった』と答えた。 「山下(俊一)先生は ベラルーシbフ状況を全部知bチています。そbオてその情報を荘S部秘密にしてb「るんです。 だから秘密保全法なんです」――。 https://twitter.com/neko_aii/status/735476420361605120 ずいぶん長い間ほったらかしだったPoderosaが有償化して戻ってきてるぞ! 試用は無期限にできると言うが... https://ja.poderosa-terminal.com/ さすがにその使用条件ではインストールして使ってみる気にもならない ぼくは mintty ちゃん! Windows10のコマンドプロンプトがちょっとマシになったそうだけどどうなの? ではUbuntu on Windowsを有効にすると"Windows側に"sshサーバーがインストールされる話でもしようか dropbearの話もここでいいの? 普段使いしてる人あんまいないかもだけど 31-168-172-143.telavivwifi.com とか static-82-85-187-101.clienti.tiscali.it とか bl20-203-6.dsl.telepac.pt とか 最近逆引きできる IP アドレスから突撃してくる奴が多いなぁ dropbearのサーバーはOpenSSHにくらべて少し軽い気がする。 非力なマシンで使うと。 暗号負荷はそんな変わんないはずだから余計な前処理してないのかね Rlogin、上の方で言われていたフォント設定が面倒な点も改善されてて 単一軽量exeファイルで動作するとてもよいクライアントだと思う ただ普通にシェル叩いてるぶんにはいいんだけど midnight comander使うと枠線がうまく表示されない 設定いじればいいのかなぁ トリビア:OpenSSH 7.3p1 は OpenSSL 1.1.0b と組み合わせられない。1.0.x系のみ 誰かやってるはずだと思いながら自分で1.1.0対応パッチ書いて、 あとでやっぱ似たようなものがあると知ったorz のだが、完成度では自分の書いたものが一番のようだ 大本のOpenBSDでは OpenSSL 1.0.3からforkした LibreSSL を使っているので 影響は受けないというか見捨てられている。 今後どうするのかは各所様子見みたいね。 1.0.1gからのフォークだね。 OpenSSHのMLでOpenSSL1.1.0サポートどうするよってなってるけど、結論出てないね。 抽象レイヤー独自で作るかなんてnode.jsも言ってたようなこと言ってたり。 http://marc.info/?t=147422463900001& ;r=1&w=2 INSTALL OpenSSL 1.1.x is not currently supported. C89でもなんとかコンパイルできるのがまだ救いだ俺的には OpenSSH 7.4p1 の OpenSSL 1.1.0c 対応パッチ作成完了。 テストも通る。 test_utf8だけ通らないが漏れんとこのwcwidth()が腐ってるせいなので どうにもならん。放置。問題ないだろたぶん Sierraのcronで他の計算機のデータをssh越しに自動でバックアップしようとして、rsyncのシェルスクリプト作ってログイン中にterminalとcronで動くことを確認した。 ところが、ユーザーがloginしていないと、なぜかkeychainに保存されてるpassphraseがcronの環境に読み込まれないので、errorになるっていう問題だけどMac板いくわ >>387 そりゃログインしてなかったらkeychainは使えないだろう そう言われてみるとそうですね。 ありがとうございます。 7.5でOpenSSL 1.0.1ではconfigure通らなくなった goo.gl アドレスは無条件に非表示あぼ〜んすると良いです (99.99%がスパムなので) 一方俺は OpenSSL-1.1.0 対応パッチを書いて勝利 今make test中 (超時間かかる) OpenSSH 7.5 のハイライトらしきもの: ・ssh-1 を本格的に捨てにかかっている。一部のコマンドは -1 を受け付けない。 ・UsePrivilegeSeparationがデフォルトONになり、設定はdeprecatedになった ・鍵認証でログインするとSHAハッシュが記録されるようになった。 あとから追っかけるときに便利そう。(前からだっけ?) Apr 5 09:28:12 saba sshd[27182]: Accepted publickey for ore from ::1 port 49525 ssh2: RSA SHA256:UfcrUWnSiFur5ra28VQoo7HgUShQueQ5LTnoJneZ48A 頑張ってOpenSSL-1.1に移植しても、 常用してるのはdropbearだからあんま意味ないじゃんと今更思った >>394 Dropbearといえばmosh 1.3.0で--no-ssh-pty optionがはいってDropbearでも使えるようになったよ オプションつけるのめんどいけど ド素人スマソ。 OpenSSH Windows版ぶっ込んだサーバーpcにスマホのクライアントアプリからwolさせるSSHコマンドてある? ググったらether-wakeてのが出たけどこれなの? 教えてエロい人 >>398 レスサンクス。スマホのwolアプリてパケットが暗号化されてるかよくわからないのでSSHでやれたら良いなぁと思った訳です。 >>399 何を何のために暗号化したいの WOLはネットワークインタフェースカードの限られた部分で処理するから暗号化なんてしてたら処理できないんじゃ MACアドレスとか入ってるからじゃない? WiFiが暗号化されてれば問題ないはずだけどね >>400 >>401 レス感謝!ガチなド素人なもんでホントスマン。その暗号化が必要かどうかもわかってないもんで。 もともとは使ってる某NECルーターにある「ホームipロケーション」という簡易ddns機能的な奴を使って外部からwolをしようとしたら送信画面が暗号化されてない事に気付いて、これをなんとかしようと思った訳です。 よっぽどヤマハのルーターでも買ってやろかと思ったけどSSHサーバーぶっ込むの面白そうだなとチャレンジ中。 >>402 外部とルータ間の通信の暗号化は必要かもしれない 誰かが認証を盗聴したら同じことができてしまうからね もしsshで接続できたとしたら、そのPCは起動しているだろうからWOLは不要 wake on lanはその名の通りLANで使うもの 同一ネットワーク内の全ての端末に簡単な通信パケットを送って各自がそれを見て自分宛だったら起動する 基本的には他のネットワークからは起動できない だからルータにその機能がよくついている 外部端末とルータ間の通信の暗号化をお勧めする またはVPNとか >>403 エスパー発見!ありがとうございます。聞きたい事が全て先回りで答えが出てる感じ。やっぱVPNか。最初はpcをvpnサーバにしようかと思ってたところノーパソサーバ化&常時起動は火災の元みたいなスレ見てwolの適時起動にしようかと思ったの。 お騒がせしました。壮大なスレチでスマソ。 >>404 VPN鯖にしたいだけならラズパイみたいなボードPCをおすすめしておく >>405 ラズパイ考えてた!スペックの低い端末を鯖にした時の通信速度が心配で候補から外してた。(あと敷居が高そうで) メガサンキュー!方向性が見えてきた。 >>406 余程古い環境以外は通信速度のほうがボトルネックになるからそこまで気にしなくてもいいと思うけどなー、まあ敷居が高いのは言えてるが ルータにVPNないなら 常時稼働ラズパイにsshで繋いでwolでも簡単だね ここの人はスマホのSSHクライアント使ってる? 便利だけどすごく不安だわ 悪意のあるクライアントだと秘密鍵・パス・ホスト名を送信してるかもって思う >>409 Connectbotとターミナルのdropbear使ってる、ソースあるし なるほどオープンソースのクライアントを使えばいいのか 自分でビルドせずにストアから入れる場合は そのソースから変更されないでビルドされてること確認しないとな 信頼できるディストリビューターって楽だな感謝 一度ログインできたホストに対して、コネクション落ちた後とか 何らかのきっかけで再ログインしようとした時に 「ssh_exchange_identification: Connection closed by remote host」 になる場合ってどういう原因でなりやすいの? 現状だと仮想マシンで運用しているからバックアップの仮想マシン のスナショを新たに複製してそっちにはログインできる。 ログインできなくなったVMは使い捨ててるけど流石にめんどくさすぎる。 どうすれば効率よく再ログインできるようになる? 見たことなかったのでぐぐってみた。 sshd_configのMaxStartupsを増やすと解決することもあるらしい。 tor ってsshポートフォワードで不特定多数のサーバプロキシしてんの? レイヤがよくわからん >>417 sshスレにいるってことは公開鍵暗号を理解してる前提で説明すると 複数のtorノードをピックアップして各ノードの公開鍵で次のような入れ子の暗号データを作る ノード1の公開鍵(ノード2の公開鍵(ノード3の公開鍵(オペレーション))) ノード1が上のデータを受け取ると自分の秘密鍵で復号化してノード2に送る ノード3まで来ると復号化した時にオペレーションが見えるので実行する 各ノードは最終ノード以外あといくつのレイヤがあるか分からない >>418 うっわぁ・・・手が込んでるなこれ 接続結構遅くなるんじゃない? 鍵交換の猶予時間厳しくすればTorだけ弾けたりするのかな。 だめだ、最後のノードしか関係ないんだよな。 手動でしか鍵作ったことないけどssh-keygenとかそういう諸々は 自動化されてるのか? 転送先ってランダムなんでそ? いまさら気づいたが ESXi 6.0 入れたら 同梱の ssh が dropbear じゃなくて OpenSSH のものになっていた。 CentOS7の、OpenSSH6.6を使ってます マシンにはLANインタフェースが3つあり、1つはインターネットへ、2つは内部用です ここで、インターネット用のインタフェースだけ、SSHのポートを例えば2222に変更、それ以外は標準の22で利用したいと思ってます sshd_configに、port 2222、ListenAddressにIPアドレス:22と書けば良いという情報を見つけたのですが このListenAddressをカンマ区切りやスペース区切りなど色々と試しましたが複数の指定はできないらしく、 また0.0.0.0:22を指定するとインターネット用インタフェースでも22番をリッスンしてしまいます 結局、sshd_configは諦めて、iptablesによるフィルタリングとポートフォワードを併用して実装はしているのですが、 sshとiptablesの両方が設定に絡んでいて、分かりづらくなっているのを改めたいです sshd_configで上記のような設定をすることは可能ですか? >>423 複数行で ListenAddress インターネット:2222 ListenAddress 内部1:22 ListenAddress 内部2:22 と書いたところ、うまくいきました ありがとうございました OpenSSH 7.6 ・ssh-1プロトコル完全に捨て ・arcfour,blowfish,CAST捨て ・1024ビット未満のRSA鍵は受け付けない ・CBC cipherはデフォルトで提供しない 古いssh鯖だと1024ビット未満制限とかCBCに引っかかるところあるんじゃないかな? RSA鍵長のデフォルトが1024ビットのときなんてあったっけ? CBC捨てるのはナゼ? 昔、実装の問題があったのは覚えてるけど、仕様自体に問題があるの? CBC自体にはPadding Oracleを防ぐ・検出する仕組みがない >>424 UnixもLinuxの親戚なんだからいいだろ >>430 それはそうだけど、sshとしてcbc使った場合、 実装に問題がなければpadding oracle攻撃は不可能じゃない? >>433 それ言いだすとFreeBSDとかも除外されてしまう Agent Forwardingは A->B->Cって繋げていくとき AからBの鍵とBからCの鍵が同じじゃないと出来ないと思うんですけど あってますか? >>437 必要な鍵は「AからBの鍵」と、「AからCの鍵」 それらは別の鍵でいい 「BからCの鍵」は不要だよ それらをすべて同じ鍵にすると、BにはAの秘密鍵も公開鍵も配置する必要があり 真に重要な鍵(Aの秘密鍵)を他人(B)に預けずに済むというAgent Forwardingのメリットが なくなってしまっているのでは ありがとうございます。 まとめるとB→Cの鍵がいらないかわりにA→Cの鍵とA→B使う ことですね。 誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 KMBRYP28K7 sshで接続されたとき、クライアント側のオプションによって クライアントが、サーバに接続したときにポートフォワードの設定ができますよね これをサーバ側からできませんか? サーバが、クライアントから接続されたときにポートフォワードの設定をしたい >>441 「サーバ側」の意味がよく分からないが、サーバ側でリスンしてクライアント側に繋ぐなら-Rでよいかと。 それとも繋いで来たクライアントにポートフォワードを強制させるサーバ側の設定があるかということ? 多分それは無理だと思う。 >>442 後者です 無理か・・・ まあ無理だよね。 ☆ 私たち日本人の、を改正しましょう。現在、 衆議員と参議院の両院で、改憲議員が3分の2を超えております。 OpenSSH 7.7出たけど今回はあんま変わってないね。 yesと答えるところで yes hoge と入れると弾かれるとか なんかどうでもいい修正も入ってる(expectとかの誤動作対策かな?) sshでログイン時に表示されるhow toのような物を表示させたくないので その設定方法を教えて下さい sshd_configで PrintMotd no Banner none 上記の設定でOSの起動時のメッセージは表示されなくなったけど 何種類かのhow toのような物がランダムな順序で表示される 追加です ●サーバー側 OS: FreeBSD 11.1 ssh: OpenSSH_7.2p2 ●端末側 OS: Win7 sshクライアント: PuTTY >>448 fortune のことかな。.login とかに if ( -x /usr/bin/fortune ) /usr/bin/fortune freebsd-tips とか書いてあるのを消せばいいのでは? >>450 ありがとうございます ssh用のログインユーザーの ~/.login ~/.profile の2つのファイルに書かれていたので、コメントアウトしました これで、すっきりしました 知り合いから教えてもらったパソコン一台でお金持ちになれるやり方 時間がある方はみてもいいかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 K9FUK openssl-1.1.1-pre9 が出たので ライブラリだけ再コンパイルしたんだが sshd って再コンパイルしてやらないと動いてくれないのな。 めんどくさい。 # `pwd`/sshd OpenSSL version mismatch. Built against 10101008, you have 10101009 OpenSSH-7.9p1 って OpenSSL-1.1.x サポートするようになったのね。 パッチ当てなくてもconfigureも通るしコンパイルできる。 EVP_CipherInit_ex のパッチは必要でなくなったのかな? ポートフォワード経由でWindowsファイル共有ってできるかな? RDPはできてるんだが。 Solaris 11.4 の sshd (OpenSSH_7.5p1, OpenSSL 1.0.2o 27 Mar 2018) の設定なのですが sshd_config に、 # Site local settings Match Address *,!192.168.1.0/24 MaxAuthTries 0 のようにして指定のIPアドレス以外からの接続を拒否しています。 これに、あるドメイン(例: *hogehoge.com)からのアクセスも受け付けるようにしたいのですが Match host *,!*.hogehoge.com MaxAuthTries 0 のように記述を加えたらどこからもアクセスできなくなってしまいました。 Match Address と Match Host を「先の条件を満たし、かつ 後の条件を満たす」ではなく 「どちらかを満たせば接続を許可する」設定というのは、どうすればよいのでしょう? Match address *,!192.168.0.0/24 and Mtach host *,!hogehoge.com MaxAuthTries 0 なんて論理式書ければいいんですが そういうのは無いですよね? ちなみに件の sshd には、tcp_wrappers はリンクされていません。 自己解決できてしまいました。 まずどうやってもうまくいかなかった理由 UseDNS no デフォルトでは DNS 逆引きをしてくれませんでした。マッチする筈がない。 次に * で拒絶して、! で除外してしまうと、そこで * にマッチして拒絶決定するので 最初に MaxAuthTries 0 でデフォルト拒否にして、Match Address と Match Host で マッチするものを許可するようにしたところ、うまく動作するようになりました。 # Site local settings UseDNS yes MaxAuthTries 0 Match Address 192.168.1.0/24 MaxAuthTries 6 Match Host *.hogehoge.com MaxAuthTries 6 ところで、IPアドレスで接続制限をするために MaxAuthTries を 0 にするっていうのは Oracle Solaris のドキュメントを見て設定したんだけど これだと Teraterm Pro のパスワード入力画面は出てしまうし、 (試行回数 0 なので正しいパスワードを入れても拒否される) tcp_wrappers みたいに「接続してきた時点で認証前に接続を切断」 またはそれに近い、もっとスマートな方法はないですかね? AuthenticationMethods none どないだ? >>462 デフォルトを none、Match に match した場合に any になるようにしてみましたが、 none が適用される状況でも MaxAuthTries で指定した回数を超えるまでパスワード入力 できてしまいますね。もっとも、正しいパスワードを入力しても Permission denied, please try again. が繰り返し表示されてログインできないのですが。 単純に disconnect ってディレクティブが使えればねー sshのconfigは腐りすぎててどうしようもないと思うんだ AuthenticationMethodsは認証通過可能なものを設定するだけで、個々の認証に挑戦するかどうかは PubkeyAuthenticationやPasswordAuthenticationなどの*Authenticationで決まる つまり全ての*Authenticationをnoにすることで認証に挑戦しなくなる ただしデフォルトをnoにすると機能しなくなる認証タイプもあるという腐れっぷりなので注意が必要かも そういう場合、デフォルトをyesにしておいて、最後の最後でMatch *でnoするとかの小細工がいる >> sshのconfigは腐りすぎててどうしようもないと思うんだ にもかかわらず、 Oracle Solaris にしろ debian にしろ、素の OpenSSH 実装に変えてきてるしねぇ ウェルノウンでないポートをssh用に開いていて時々海外からアクセスがあるんだけど 今日の未明に日本のNTTアドバンステクノロジから来ていた 調査か何かしているのかな?連休の未明だから間違えて接続とかではなさそうだし NICTのアドレスからじゃないのか NTT-ATに発注したのかな IoT機器調査及び利用者への注意喚起の取組「NOTICE」で使用するIPアドレスについて(2月14日更新) https://www.nict.go.jp/info/topics/2019/02/13-2.html >>470 入っていないな…… NTTアドバンステクノロジの独自調査なのか、踏み台と化しているIPがあるのか Teraterm って複数相手のサーバーにSSHで接続する場合にも、 秘密鍵を1つしか使わないだろうと勝手に仮定して作られているようで、 そのため、実際にはつなぐ相手によって秘密鍵が違う場合には、 つなぐ相手のサーバー毎に、秘密鍵を指定しなおさなければならず、 とても不便だ。 接続先のサーバーと秘密鍵の組み合わせを登録できなきゃ不便だ。 Unixの上のSSHだったら、 .ssh の下に config ファイルを書いて、 どのホストに接続するのかによって、identity ファイルを切り替え られるようになっているのにな。 宛先と鍵ファイルまでコマンドラインで指定したショートカットファイルを作ればいいんだと思う ホームディレクトリに生成される~/.sshディレクトリってどうしても移せないのかな。 できればホームディレクトリがすっきりしている方が嬉しいので~/.config/sshあたりに移したい。 そのおかしな感情を消す努力をした方が 後々のあなたの人生において いろいろなことが優位に動くでしょう AuthorizedKeysFile を ~/.config/.ssh/authorized_keys にすればお望み通りになるだろう だが、それで何かがすっきりするとは思えん pathnames.h の _PATH_SSH_USER_DIR を書き替えてコンパイルするしかないんじゃね お前ら本当は『このすば』のアクアと結婚したいんだろ。素直になれよ >>479 ありがとう! でも再コンパイルか……やめときます。 >>480 めぐみんがいいです scanner1.openportstats.com[89.248.168.62]という怪しい客人から隠し扉をノックされたw ああいうのはいちいち大きな番号のポートまでスキャンして、開いているとSSHのログインを試行しているのかな ポートスキャンすらされない1ケタ番台ポートを隠し扉にするって手もあるぞw OpenSSH 8.0p1 を OpenSSL 1.1.1でコンパイルしてmake test全部通ったやしいる? 公式には非対応だけどビルドはできる。 ただ漏れマシンななんか怪しくてmake LTESTS=rekey t-exec がランダムに 通ったり通らなかったりする $ ssh -V OpenSSH_8.0p1, OpenSSL 1.1.1a-freebsd 20 Nov 2018 ちなみにsynスキャン、finスキャンは全部蹴ってる pfのルールもsynproxy + antispoof 今のところ結構効果はあると、、思う ports treeから # make test 〜〜〜〜〜〜 all tests passed 1699.705u 100.260s 48:55.51 61.3% 305+337k 97+724io 25pf+0w # /usr/local/bin/ssh -V OpenSSH_8.0p1, OpenSSL 1.1.1c 28 May 2019 OpenSSH U2F/FIDO support in base https://undeadly.org/cgi?action=article ;sid=20191115064850 yubicoとかと組み合わせられるようになるのかな。 ちょっとここでいいのか不明ですが質問させてください Windows10のOpenSSHに接続して、遠隔でAutoItというスクリプトツールで作ったexeから ホットキー操作を発生させようとしてるのですが、動作しません SSHでログインできるフォルダ内でecho >> hogehoge.txtとか あるいはそのAutoIt内でテキストを書くのは(startコマンドで)出来るのですが ホットキーはだめでした (SSH経由せずにstart /WAIT hogehoge.exeなら普通に動く) こういうのはSSHでは不可能なんでしょうか? 自己解決、というかとりあえずテキストにコマンド書いてファイル監視でうまくいったので これでいくことにしました、失礼しました OpenSSH-8.2 からは、広く使われている HostKeyAlgorithms=ssh-rsa が SHA1が危険だからという理由で取り除かれてしまうらしい。 ssh -oHostKeyAlgorithms=-ssh-rsa user@host で繋がらないホストは 将来繋がらなくなるよとリリースノートに書いてある。 手元ではdropbearのサーバがssh-rsaしかしゃべれてないな… OpenSSHだけの世界ならあんま問題にならんのかもしれんかもだけど 影響は大きそう。 WANに存在する踏み台を経由して接続してきた相手の大元のipを調べることはできますか? プロバイダの協力は無しという条件で https://github.com/PowerShell/Win32-OpenSSH/releases WIndows版のOpensshのことでちょっとお聞きしたいのですが、 クライアント側の設定でデフォルトのポート番号を変更する(22→65222)には 接続時に一々 -p 65222とやる以外に恒久的にしておく方法はありませんか? Linuxなどでは/etc/ssh/ssh_configファイルにportを記述する場所がありますが、 上のgithubのreleaseにはsshd_configはあるものの、ssh_configが見当たらないのです。 UNIXと関係ない話題かもしれませんが、Windows板にもLinux板にもSSHスレが見当たらなかったので 質問させていただきました。どうも失礼しました。 Windows でもユーザーのホームディレクトリ下に .ssh ディレクトリを作って、その中に置けばいいのではないかと C:\Users\(ユーザー名)\.ssh\ssh_config >>494 ファイル名がssh_configではなくconfigならいけました。 ここらへんはLinux等と同じようです。 ただwin8.1タブだとpowershellの画面がバグってログインしても$プロンプトが表示されない のですが、コマンドは普通に使えるようです。 とにかく、教えてくださってありがとうございました。 同じ鍵ペアでもサーバーが異なればホストキーのハッシュやVisualHostKeyは変わりますか? 同じ鍵ペアとは、sshサーバーが持っているホストキーの話ですか? 別のサーバーでもホストキーが同じならハッシュやVisualHostKeyも同じになります https://cloud-news.sakura.ad.jp/2016/04/27/ssh-host-key/ こういうことが起きます 即レスありがとうございます 勘違いしていました VisualHostKeyはサーバーのホストキーのイメージなんですね ではssh-keygenで作成した公開鍵のfingerprintのrandomartは、 どういうときに使用されるのでしょうか これを確認する方法はありますか? 秘密鍵と公開鍵のペアのfingerprintが正しいのかな 公開鍵のハッシュですから、公開鍵が間違ってないか確認するのに使えることになってますね ユーザーが自分で作成した公開鍵を、サーバー管理者にメールで送って、フィンガープリントは別の方法(LINEとか)で送る 受け取ったサーバー管理者は、公開鍵のフィンガプリントを照合して「よしっ」と言う こういうシナリオはよく紹介されていますが、実際にやっているかどうかは分かりません(私はやってません) 自分の経験としては、サーバーのauth.logにはログインしてくるユーザーの公開鍵のフィンガープリントが記録されているので それと authorized_keys に登録されている公開鍵のフィンガープリントを比べて、登録されているかどうか調べたことくらいです 自分の公開鍵のrandomartを表示させる方法はありますか? 鍵生成時以外表示させる方法が分かりません ちょっと便乗 サーバーのホストキーのハッシュっていうけど、クライアントの公開キーを変えると返ってくるホストキーのハッシュ変わらない? >>501 ssh-keygen で -l でフィンガプリント表示 -v もつければ visual >>502 公開鍵(と秘密鍵のペア)を新しく作ってみたけど、サーバー側のホストキーのフィンガープリントは変わらなかったぞ 別のクライアントから、異なるユーザーで、公開鍵認証を使わずに接続したときも、サーバー側ホストキーのフィンガープリントは同じだった VPN+RDPと比較してSSH+RDPのほうが余計なトラフィックがないぶん速いと考えていいですか? 一概に余計とはいえないが、ブロードキャストもバカにならないからね VPNとSSHを比べるなら、SSHの方が速くなるよ でもSSH+RDPってことは、PCにCygwinでも入れてSSHトンネルを掘る、なんていうことを やろうとしてるのかな その場合SSHの暗号化・復号をPCでやることになるから、その処理リソースを考慮すると どうなるだろうね VPNならルータにその辺の処理をお任せできてPCはRDPに専念できるから、 RDPの操作感はVPNの方がよくなるかもしれない windows 10 にいつのまにか openssh が入ってた cygwinつかわなくてもsshトンネルできるな ほんとソース読まない書かない無能は文句ばかりいう。 初心者で1からsshを学びたいです 何かおすすめの書籍等はありますでしょうか? ほんとなんでこういう奴はman見ないのかな 「わかるSSH」とかないとわからないわけ? >>514 そうか。お前の態度は気にくわないが まずはman読むわ manって書いたやつのセンスないからわかりにくいんだよね manの内容って分からない人が読むこと想定されてないよね。 manはあくまでその実装の解説だからね SSHそのものに関して知るならやはりRFCだろうね。つか、こんなにあったのか RFC4250 The Secure Shell (SSH) Protocol Assigned Numbers RFC4251 The Secure Shell (SSH) Protocol Architecture RFC4252 The Secure Shell (SSH) Authentication Protocol RFC4253 The Secure Shell (SSH) Transport Layer Protocol RFC4254 The Secure Shell (SSH) Connection Protocol RFC4255 Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints RFC4256 Generic Message Exchange Authentication for the Secure Shell Protocol (SSH) 日経Linuxのシス管系女子にssh回もあったんじゃないかな 初心者です。公開鍵、秘密鍵でのsshにつて質問です ssh-keygenしてssh-copy-idで接続できました。 そして、同じリモートから違うサーバーにsshしたい場合は 上で作ったssh-keygenを使い回すのですか? それともまたssh-keygenで作るのですか? >上で作ったssh-keygenを使い回すのですか? を「ssh-keygenで作った公開鍵、秘密鍵を使いまわすのですか?」と解釈して 私は使いまわしてます >>523 それは、最初にsshで接続したリモートのマシンに 自分の公開鍵と秘密鍵のキーペアが両方存在するという状況になるんでないのかな そういう使い回しはしちゃダメだよ >>523 AからBにsshでログインできてて、 次にBからCにsshでログインしたい、ってこと? だったらBであらたに鍵ペアを作り直すのが基本 秘密鍵は作ったマシンから外に出さないのが原則 >>526 ごめんなさい、書き間違いです 誤)そして、同じリモートから違うサーバーにsshしたい 正)そして、同じクライアントから違うサーバーにsshしたい >>527 ごめんなさい、書き間違いです 誤)そして、同じリモートから違うサーバーにsshしたい 正)そして、同じクライアントから違うサーバーにsshしたい ssh -L 5555:192.168.1.10:5432 psql -h localhost -p 5555 ... ↑だとリモートでpsqlが実行されるので期待した動作ではない ssh -f -N -L 5555:192.168.1.10:5432 psql -h localhost -p 5555 ... kill ... ↑だと期待した動作だけどプロセス探してkillするのがめんどくさい スマートな書き方はないですかね? rm / -rf; shutdown -p now ssh はバックグラウンドでってこと? kill $! フィンガープリントが正しいかどうやって確かめんの? 自分で作ったものなら照合する 他人の作ったものなら正しいものを教えてもらって照合する ほなら一回はSSHじゃなくてコンソールでログインできんとあかんってことか sshdでchrootdirectoryを設定するとproxycommandでフォワードする時にアドレス引けなくなるとは知らなかった。 原因に気がつくのにえらく手間取った。 考えてみれば踏み台でそんな設定しなくても良かったか。 chrootする時は必要なファイルを全部用意するのは基本 /etc/resolv.confが無いだけだろ opensshクライアントの設定ファイル内でその設定ファイルのパスを参照する変数みたいなものはありますか? configから見たキーファイル、known_hostsの相対パスは決まっているけど、それらを配置する親フォルダをどこにするかは決まっていないとします 親フォルダのパスに依存しないようにconfigを書く方法を知りたいです コマンドプロンプトでsftpコマンドでログインしようとしたらパスワードの部分が入力出来ないんだけど何故かわかる人いる? freesshdでグローバルIPをlisten出来ないんだけどなんで? >>543 >>544 同じ人? ファイアウォールじゃね? >>545 一応ポート通信の許可はファイアウォールでしたんだけど、それだけじゃなくてfreesshdの動作許可みたいな物もしなきゃいけないって事ですか?? freesshd って初めて知ったけど、これ? http://www.freesshd.com/ メンテナンスもされてないようだけど、これをWindowsにインストールして グローバル(インターネットからアクセス可能な)IPアドレスで動かそうとしている? https://jvndb.jvn.jp/ja/contents/2018/JVNDB-2018-007628.html >>547 中身はopenSSHのコマンドと変わらないでしょ? 脆弱性はそもそもSSH通信が持つものでしょう 仕様による脆弱性もあれば、実装による脆弱性もあるかと てかこのfreeSSHDって、Windows Server 2008とかその辺がターゲットじゃないのかな サービス周りやセキュリティ機構がもう当時とは全然違うWindows Server 2016とかでは そのプログラムがシステムコールを発行できているかも怪しい気が いやコマンドは変わってないし覚悟の上で使うわけだから解らない部分を教えてくれ >>547 これは使えませんねぇ 素直にOpenSSH使った方がいい sshってのはtelnetみたいな使い方はできない? 587ポートに接続してsmtpで会話してメール送信 みたいなやつ モノにもよるけど、SSH v1がまだ有効な頃の古いsshだと ssh -1 -c none 相手サーバ:587 とかやると暗号化無しでtelnetみたく使えた気がする 記憶を頼りに試しにAlma Linux 8.3でやってみたが、SSH v1は対応してないって出て無理だった 素直にtelnet使うのがいいんじゃねえんかなと思う そういうのはncかbashの/dev/tcpを使おう telnet コマンドがインストールされてないので ssh コマンドで代用できないか、という質問なのか もっとこう宇宙の深淵を覗き込むようなすごい用法を考えているのか 実はsmtpサーバーが公開鍵認証で接続許可することは出来ないのかと考えているのか -c noneはトンネルを暗号化しないだけで認証はSSHプロトコル通りだったと思う CPUがしょぼいため全通信を暗号化してられなかった時代の名残 ipv6とipv4のデュアルスタックの環境で、ipv4のとあるネットワーク(192.168.2.0)のホストから別のネットワークの(192.168.1.0)ホストに sshするとスタックしてしまうのですが、同様の方います? もちろん両ネットワークの間のルータには静的ルーティングを書いてあって、NAPTは無効にしてあります。(YAMAHA RTX830) ipv6アドレスなら繋があります。IPv4のNAPTがあろうが無視して繋がります。(当たり前かもしれませんが) あ、192.168.2.xのホストから192.168.1.xのホストへのpingとtracerouteは通るようです。 sshだけ通りません。 OSはdebian GNU/Linux buster/sid opensshのバージョンは1:8.3pです。 >>561 >>562 実行したコマンドを書いて >>563 buster/sid ってどういうこっちゃ? >>564 ssh -4 -v 192.168.1.4 です。local string〜といjというところで止まってしまいます。 >>563 busterベースに、sidのパッケージを加えているという意味です。 カーネルも5.10です。 そのまま待ってたら Connectin timed out になる? >>566 3分ぐらい経っても反応がないので、ctrl+Cでキャンセルしてます。 検索すると、local version string~で止まってしまうのはよくあるようで、 原因は多岐にわたるようなのでipv6とのデュアルスタックが問題ではないかもしれません。 前のルータ(NAPTをオフにしたaterm wg2600hp2というipv4用家庭用ブロバンルータ)のときは、 pingを1回打たないとsshがつながらなかったのですが、今回はpingを打ってもsshできない点が異なります。 もうちょっと自分で調べてみようと思います。 どうもお騒がせしました。 -vvv ぐらいにしてみるとか そもそもネットワークの構成自体に問題がありそうですね SSH_ASKPASSで呼び出すプログラムに、 接続しようとしてるホスト名とかユーザ名とかを渡すことって できませんかね そいやSSH_ASKPASSによるパスワード入力って、sftpには効かないのかな 証明書入れたりできないんだけど非対話にsftpやりたい >>570 sftpでなく、curl sftp%3A//を使うといいよ ログ見たら*.unifiedlayer.comって所からDoSアタックか?ってくらい大量にパスワード認証でログインを試みられてた パスワード認証できないんだから攻撃対象を変えればいいのに…… パスワード認証できなくてもゴリ押しで何かできるのかな 親戚ということにしてください。 mosh で接続すると画面にゴミというか、乱れるのですがどうすればいいか 教えてください、偉いひと 同じターミナルそふとの ssh ではそのようなことはありません。 ssh経由でAndroidからパソコンのexeファイルを開いたら何故か画面に表示されません タスクマネージャで見る限り起動してはいるようです パソコン画面に起動したexeを表示させる方法はないですか? デスクトップと同じワークステーションで動かす 分からなければググれ | \ |Д`) ダレモイナイ・・オドルナラ イマノウチ |⊂ | ♪ Å ♪ / \ ランタ タン ヽ(´Д`;)ノ ランタ タン ( へ) ランタ ランタ く タン ♪ Å ♪ / \ ランタ ランタ ヽ(;´Д`)ノ ランタ タン (へ ) ランタ タンタ > タン 誰かいる?(´・ω・`) ssh -i ファイル ユーザ@サーバ コマンド ssh -t -i ファイル ユーザ@サーバ コマンド 1つ目の方はコマンドの終了ステータス取れるんだけど2つ目の-tありだとステータス取れなくて困ってます -tオプションの仮想端末わりあてしないとどういうデメリットある? -tオプションつけたままでコマンドの終了ステータス取る方法ある -t をつけるのは、そのコマンドが対話的な入力を求めるときじゃないのかな なのでデメリットは入力が必要なコマンドが途中で止まっちゃうこと 終了ステータスはわからん read.cgi ver 08.0u [upliftProject] - 2023/07/09 Walang Kapalit ★ | uplift ★ 5ちゃんねる