概要 AWS とかで踏み台ホスト経由(ここでは AWS っぽく bastion と呼ぶ)で ssh する必要があるなら ~/.ssh/config は↓みたいにしとくのが良いんじゃないかな? Host bastion Hostname bastionのIPアドレス User bastionのユーザ名 # ↓は規定のファイルだったり ssh-agent 使ってれば不要 IdentityFile bastion接続用の秘密鍵ファイル名 # ↓の3つはWindowsでは使えないので諦めて ControlMaster auto ControlPath ~/.ssh/cp-%r@%h:%p ControlPersist 10m Host 好きな接続先名 Hostname 接続先のIPアドレス User 接続先のユーザ名 # ↓は規定のファイルだったり ssh-agent 使ってれば不要 Identi
北海道札幌市在住、サーバー専門のフリーランスエンジニアです。クラウドサービスを利用してWebサイト、ITシステムのサーバー構成設計とサーバー構築を行います。 はじめに ひとつ前の記事で、国別のIPアドレスリストを利用して、ipsetとiptablesでSSHを日本国内からの接続に限定する設定方法をまとめました。 ・ipsetとiptablesでSSHを日本国内からの接続に限定する (CentOS 6) https://inaba-serverdesign.jp/blog/20150209/ipset_iptables_country_centos6.html 続いてCentOS 7でもこの方法で、と試してみたのですが、CentOS 7のipsetは(2015年2月時点では)systemdに対応しておらず、OS起動時にipsetセットがロードされません。 このためCentOS 7での設定はあ
443ポート以外が絶滅しそうです あちこちでポートは閉じられています。ssh や sftp もプロキシ利用も、各種ポートでは、全く外部に出れず、接続できないネットワークが多いです。 TCP/IPなのにIPとポートを使った通信ができない、壊れたネットワークが当然になりました。 これらの接続制限にとても不便を感じることが多いです。 サーバー管理者の気分一つでポートが空いたり閉じたり、私が触ってたネットワークではポリシーが統一されず、クソネットワーク管理者に振り回されて、動くはずのものが動かず、不便なことが多かったのです。そこで仕方なく443を使っています。 私達が利用する端末では80/443 のポートの外部接続が閉じられることは少なく、443であれば通信できます。 そのため、443ポートに様々なアプリケーションを起動していると思います。 443 ポートとIPアドレスが枯渇する・・・ よほどのG
App::RemoteCommand というのを cpan にあげた。 cpan: https://metacpan.org/release/App-RemoteCommand github: https://github.com/shoichikaji/App-RemoteCommand インストール方法 > cpanm App::RemoteCommand > rcommand -v App::RemoteCommand 0.01 なにするもの? ssh で複数ホストにはいって並列にコマンドを実行するスクリプト。 なんで作ったか fabric や chef を使えば複数ホストに並列にコマンドを実行できる。 が、専用のシンタックスで書かなくちゃいけないしイマイチカジュアルじゃない。 ssh, xargs を組み合わせて > cat host-list.txt | xargs -P5 -L
SSHサーバーを外向きに開けてるん。でも総当たりされるので面倒だ。そこで対策。 内側からはパスワードで認証する。 外側からは鍵認証にする。 iptablesでSSHへの総当たりを止める このうち1,2について。 外側と内側で認証方式を変える これが意外と便利なんだな。WAN側は公開鍵、LAN側はパスワードで認証。 ここで便利に使えるのが、Matchエントリ。クライアント条件別に設定が出来る。 49 # Change to no to disable tunnelled clear text passwords 50 PasswordAuthentication no #パスワードで認証を禁止する。鍵だけ。 #中略 #192.168.*.*からの接続だけパスワードで認証許可する 81 Match Address 192.168.*.* 82 PasswordAuthentication ye
http://www.t-dori.net/k-way/?date=20061218 こんなコマンドがあったのか。常識? ssh-copy-id username@hostname.example.jp か。パスワード認証のパスワードが求められる。 あああ、こんな便利なコマンドあったのか。 いわゆる authorized_keys に登録する処理が簡単に行える。 ただ、ほとんどの環境に入ってない。 最近のOpenSSHだと入ってるのかな。 ちなみにいつもはこうやってる。 $ cat ./.ssh/id_rsa.pub | ssh user@remote_host "cat >> ./.ssh/authorized_keys" 参考: http://www.delafond.org/traducmanfr/man/man1/ssh-copy-id.1.html http://takkan-m
最近では、クラウド環境を使って簡単にサーバーを構築することができるようになったので、開発者もターミナルを使う機会が増えてきたと思います。 筆者は、Macユーザーなのでターミナルアプリケーションとして「iTerm2」を使っていますが、Windowsの時は「PuTTY」を使っています。 運用でもターミナルからSSHで接続して、設定ファイルを編集したりログをチェックしたりCPU負荷を確認することもよくあります。 こういったSSHクライアントは自分の開発環境にインストールして使っていると思います。 しかし、デモやプレゼンをする際など、自分の開発環境以外からSSHでサーバーに接続したい場合、ターミナルアプリケーションがインストールされていないことがあります。 そこで、今回ご紹介するのが、ChromeがSSHクライアントになるエクステンション「Secure Shell」です。 「Secure Shel
cles::blog 平常心是道 blogs: cles::blog NP_cles() « RISTORANTE LA CIAU :: 岡崎市立中央図書館事件の当事者のまとめ » 2010/06/22 SSH総当り攻撃が増加? ssh 119 0へぇ SSHへのブルートフォース攻撃が増加しているようです。 SSHブルートフォース攻撃が増加、SANSが対策を紹介 - ITmedia エンタープライズ 米セキュリティ機関のSANS Internet Storm Centerは、SSHを狙ったブルートフォース攻撃(ユーザー名・パスワード総当り攻撃)が急増しているようだと伝えた。多数のネットワークが攻撃に遭っているとの報告がSANSに寄せられているという。SANSによると、攻撃元のIPアドレスがまちまちな状況などから判断して、攻撃はボットネットから分散して仕掛けられているもようだという。このよ
sshにはダイナミック転送という機能がある。この機能を使うと、sshはアプリケーション側にはSOCKSプロクシとして振る舞うが、そこからsshの接続先までは暗号化された状態で通信が行われる。 これだけだと通常のトンネリングとどう違うのかよくわからないかもしれないが、ダイナミック転送の場合は転送ポートを指定する必要がない。ここがダイナミックと表現される所以だろう。 例えば、オフィスAにある開発サーバdev1にオフィス外からアクセスしたいとする。しかし、dev1はオフィス外には公開されておらず、踏み台サーバladd1を経由してしかアクセスするしかない。ladd1はsshのみが動いており、これまではsshのトンネリング機能を使ってアクセスしてきたのだが、ウェブアプリケーションをデバッグする際はいちいちウェブアプリケーションのポート毎にトンネルを掘るのが面倒くさい。オフィスに限らずデータセンターへ
以前の記事「$HOME/.ssh/configを活用していますか?」では、設定ファイルを少し頑張って書けば普段のSSHライフが随分変わりますよ、と紹介しました。今日はその続編です。前回よりマニアックな設定を紹介します。 2段以上先のサーバにログインする Dynamic Forward機能を使う 共通設定をまとめて書く 2段以上先のサーバにログインする 目的のサーバにログインするために、踏み台的なサーバを経由しないと入れない環境があります。例えば、dmz経由でないとDBサーバにログインできない環境、というのは良くある構成でしょう。 このような場合に、ProxyCommandパラメータが利用できます。 上の設定で「ssh db1」とすると、sshでdmzに接続し、dmzから192.168.0.201へログインします。これを利用するには踏み台サーバにncコマンドが必要ですが、大抵の環境にインスト
たとえば以下のように A というサーバーをログインしなければ到達できない B というサーバーがあったとき local --> hostA --> hostB 二回に分けて入力するのが面倒くさい。 local$ ssh user@hostA # Aにログイン成功 hostA$ ssh user@hostB # やっとBに到達。面倒!! hostB$ そんなときに、以下の構文を思い出すことだろう。 ssh user@host リモートで実行したいコマンド リモートで実行したいコマンドで "ssh user@hostB" ってやったらいいんじゃないかと 思いつきでやってしまうと、以下のようにエラーになる。 $ ssh user@hostA "ssh user@hostB" Pseudo-terminal will not be allocated because stdin is not a t
DenyHosts で ssh ブルートフォースアタック対策 提供:maruko2 Note. 移動: 案内, 検索 Web Site http://denyhosts.sourceforge.net/ sshd のログファイル(/var/log/secure など)を定期的に読み込み、sshd の認証に失敗した回数がしきい値(設定した回数)をこえると、/etc/hosts.deny にアクセス拒否の設定を書き込む Python スクリプト。 目次 1 Mac OS X 10.3/10.4 にインストールする 1.1 ソースコード からインストールする 1.2 デーモンとして起動 1.3 /var/log/denyhosts.log で動作確認 2 denyhosts.cfg の設定例 2.1 起動スクリプト (StartupItems) 2.2 起動スクリプト (LaunchDaemon
自動バックアップ処理をさせたいが シェル権限を与えたくないときとかに使える技。 やり方は簡単で $HOME/.ssh/authorized_keys の "コマンドを制限したい公開鍵" の行の先頭に 実行させたいコマンドを記述すればよい。 そのときのフォーマットはだいたい以下のようになる。 command="実行させたいコマンド",sshのオプションをカンマ区切りで書く command=hoge というのを付け足すことによって その公開鍵でアクセスがあったときに 指定したコマンドを実行させることができる。 たとえば、uptime を実行させたいときは、 以下のようにすればよい。 command="uptime",no-pty,no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-rsa AAAABbBFERTWER....
sshを使いこなしていないひとを見るとイラっとする。パスワード認証大好き(もう21世紀ですよ)、パスフレーズ入れるのが面倒(keychain使えよ)、放っといたssh接続が切れて「また切れた!」(screen使えよ)とか。 ()は~/.ssh/configにおける同等の設定。詳しくはssh(1)とssh_config(5)を参照のこと。 一定期間ごとにパケットを送って、無通信時間経過によりセッションが切断されるのを回避する。 > ssh -o 'ServerAliveInterval 60' host.example.org (ServerAliveInterval 60) ssh-agentのforwardingを有効にして、login先のホストでもパスフレーズの入力を省略する。 > ssh -A host.example.org (ForwardAgent yes) remoteのコン
cles::blog 平常心是道 blogs: cles::blog NP_cles() « PoptopでPPTPサーバーを立ててみた :: Do itashi mashite » 2007/09/26 PPPoverSSHToolを使ってみる ssh networking 58 1へぇ 実は一箇所だけsshは通るけれど、PPTPは通らない場所で作業することがあるので、kimitakeさんにコメントで教えてもらったPPPoverSSHToolでVPNする方法をちょっと試してみました。 MOGURA Project WWW site 現在、VPN ソリューションは多数ありますが、セキュリティ、活用できる状況、導入コストを考慮した場合、当プロジェクトでは、VPN のプロトコルとして PPP over SSH が最適であると判断しました。 PPP over SSH は、UNIX 間の VP
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く