SSH その8
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です。