How To Be Strong

00:00
00:00

We’re in the second of a two-part series on the devil and the conflict between supernatural forces of good and supernatural forces of evil. 
In Part 1, I made my case for why I think it’s immanently sensible to say there really is a devil. And we talked about Satan’s weapons and strategies. If you go through the Bible all the way back to Adam and Eve, what is Satan’s strategy? He’s not possessing them. He’s lying to them. On the basis of that understanding, we’re going to proceed and look at the Christian’s weapons and strategies.
If you want to defeat the forces of evil and be successful in the battles of life, you must put on the full armor of God. What is that? In this passage, we can learn 1) when to put it on, 2) what it is, 3) how to put it on, and 4) whom to remember when you do.
This sermon was preached by Dr. Timothy Keller at Redeemer Presbyterian Church on February 5, 2012. Series: A Study of Ephesians: Who is the Church? Scripture: Ephesians 6:14-24.
Today's podcast is brought to you by Gospel in Life, the site for all sermons, books, study guides and resources from Timothy Keller and Redeemer Presbyterian Church. If you've enjoyed listening to this podcast and would like to support the ongoing efforts of this ministry, you can do so by visiting https://gospelinlife.com/give and making a one-time or recurring donation.

Released on 7 Oct 2024

Share this page...
SettingsRequest history8.3.17PHP Version238msRequest Duration3MBMemory UsageGET podcasts/{podcast}/episodes/{episode}
status
200 OK
full_url
https://premier.amperative.site/podcasts/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/h...
action_name
podcasts.episodes.show
controller_action
App\Http\Controllers\PodcastEpisodesController@show
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
status
200 OK
full_url
https://premier.amperative.site/podcasts/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/h...
action_name
podcasts.episodes.show
controller_action
App\Http\Controllers\PodcastEpisodesController@show
uri
GET podcasts/{podcast}/episodes/{episode}
scope_bindings
true
controller
App\Http\Controllers\PodcastEpisodesController@show
file
app/Http/Controllers/PodcastEpisodesController.php:20-36
middleware
web
duration
239ms
peak_memory
4MB
response
text/html; charset=UTF-8
request_format
html
request_query
[]
request_request
[]
request_headers
0 of 0
array:15 [ "host" => array:1 [ 0 => "premier.amperative.site" ] "connection" => array:1 [ 0 => "keep-alive" ] "pragma" => array:1 [ 0 => "no-cache" ] "cache-control" => array:1 [ 0 => "no-cache" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "accept-encoding" => array:1 [ 0 => "gzip, deflate, br, zstd" ] ]
request_cookies
[]
response_headers
0 of 0
array:3 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sun, 22 Jun 2025 23:49:04 GMT" ] ]
session_attributes
0 of 0
array:1 [ "_token" => "jOp3GKcsmGqDdhIFUNjuV8I2XzXZBSm0kPktmH4E" ]
    • Booting (67.37ms)time
    • Application (171ms)time
    • Routing (3.46ms)
    • 1 x Application (71.7%)
      171ms
      1 x Booting (28.28%)
      67.37ms
      1 x Routing (1.45%)
      3.46ms
      62 templates were rendered
      • 1x templates.podcast-episodes.showshow.blade.php#?blade
      • 1x livewire.section-podcast-playersection-podcast-player.blade.php#?blade
      • 1x components.sections.header-playerheader-player.blade.php#?blade
      • 1x components.sections.header-topheader-top.blade.php#?blade
      • 35x components.iconicon.blade.php#?blade
      • 1x components.player.tracktrack.blade.php#?blade
      • 1x components.modals.modal-confirmationmodal-confirmation.blade.php#?blade
      • 3x components.modals.generic-1generic-1.blade.php#?blade
      • 1x components.sharethissharethis.blade.php#?blade
      • 3x components.cards.episodeepisode.blade.php#?blade
      • 1x components.modals.model-show-signupmodel-show-signup.blade.php#?blade
      • 1x components.recommendations.index-bespokeindex-bespoke.blade.php#?blade
      • 1x components.promotional-blockspromotional-blocks.blade.php#?blade
      • 1x components.sections.footerfooter.blade.php#?blade
      • 2x components.form.inputinput.blade.php#?blade
      • 2x components.form.input-groupinput-group.blade.php#?blade
      • 1x components.layouts.mastermaster.blade.php#?blade
      • 1x components.faviconfavicon.blade.php#?blade
      • 1x components.social-metasocial-meta.blade.php#?blade
      • 1x components.modals.searchsearch.blade.php#?blade
      • 1x components.toast-controllertoast-controller.blade.php#?blade
      • 1x components.modals.model-show-thank-youmodel-show-thank-you.blade.php#?blade
      uri
      GET podcasts/{podcast}/episodes/{episode}
      middleware
      web
      scope_bindings
      true
      controller
      App\Http\Controllers\PodcastEpisodesController@show
      as
      podcasts.episodes.show
      file
      app/Http/Controllers/PodcastEpisodesController.php:20-36
      26 statements were executed (14 duplicates)Show only duplicates91.2ms
      • RedirectMiddleware.php#49premier1.31msselect * from `redirects` where `is_regex` = 1 and `redirects`.`deleted_at` is null
        Bindings
        • 0: 1
        Backtrace
        • app/Http/Middleware/RedirectMiddleware.php:49
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:797
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:776
      • RedirectMiddleware.php#79premier590μsselect * from `redirects` where `is_regex` = 0 and `match` = '/podcasts/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/how-to-be-strong' and `is_active` = 1 and `redirects`.`deleted_at` is null limit 1
        Bindings
        • 0: 0
        • 1: /podcasts/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/how-to-be-strong
        • 2: 1
        Backtrace
        • app/Http/Middleware/RedirectMiddleware.php:79
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:116
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:797
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:776
      • DatabaseSessionHandler.php#97premier810μsselect * from `sessions` where `id` = 'NztxgTKAA51mYURvMz7gNiq5upfchnVWf4BRtmwV' limit 1
        Bindings
        • 0: NztxgTKAA51mYURvMz7gNiq5upfchnVWf4BRtmwV
        Backtrace
        • vendor/laravel/framework/src/Illuminate/Session/DatabaseSessionHandler.php:97
        • vendor/laravel/framework/src/Illuminate/Session/Store.php:113
        • vendor/laravel/framework/src/Illuminate/Session/Store.php:101
        • vendor/laravel/framework/src/Illuminate/Session/Store.php:85
        • vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:147
      • ContentFamilyTrait.php#42premier1.16msselect * from `podcasts` where `slug` = 'timothy-keller-sermons-podcast-by-gospel-in-life' and `is_active` = 1 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: timothy-keller-sermons-podcast-by-gospel-in-life
        • 1: 1
        Backtrace
        • app/Models/Traits/ContentFamilyTrait.php:42
        • vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php:61
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:947
        • vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
      • ContentFamilyTrait.php#59premier56.31msselect * from `podcast_episodes` where `podcast_episodes`.`podcast_id` = 40 and `podcast_episodes`.`podcast_id` is not null and `slug` = 'how-to-be-strong' and `podcast_episodes`.`deleted_at` is null order by `published_at` desc limit 1
        Bindings
        • 0: 40
        • 1: how-to-be-strong
        Backtrace
        • app/Models/Traits/ContentFamilyTrait.php:59
        • vendor/laravel/framework/src/Illuminate/Routing/ImplicitRouteBinding.php:56
        • vendor/laravel/framework/src/Illuminate/Routing/Router.php:947
        • vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
      • PromotionalBlockCacheMiddleware.php#24premier1.34msselect * from `promotional_blocks` where (`display_from` is null or `display_from` < '2025-06-23 00:49:04') and (`display_to` is null or `display_to` > '2025-06-23 00:49:04')
        Bindings
        • 0: 2025-06-23 00:49:04
        • 1: 2025-06-23 00:49:04
        Backtrace
        • app/Http/Middleware/PromotionalBlockCacheMiddleware.php:24
        • vendor/laravel/framework/src/Illuminate/Cache/Repository.php:397
        • vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php:408
        • app/Http/Middleware/PromotionalBlockCacheMiddleware.php:23
        • vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
      • PodcastEpisodesController.php#22premier810μsselect exists(select * from `brands` where `brands`.`id` is null and `brands`.`deleted_at` is null) as `exists`
        Backtrace
        • app/Http/Controllers/PodcastEpisodesController.php:22
        • vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • vendor/laravel/framework/src/Illuminate/Routing/Route.php:259
        • vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • PodcastEpisode.php#195premier1.59msselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\Models\PodcastEpisode' and `musicables`.`musicable_id` = 22321 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 22321
        Backtrace
        • app/Models/PodcastEpisode.php:195
        • app/Http/Livewire/SectionPodcastPlayer.php:104
        • app/Http/Livewire/SectionPodcastPlayer.php:43
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
      • PodcastEpisode.php#102premier890μsselect * from `podcasts` where `podcasts`.`id` = 40 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 40
        Backtrace
        • app/Models/PodcastEpisode.php:102
        • app/Models/PodcastEpisode.php:195
        • app/Http/Livewire/SectionPodcastPlayer.php:104
        • app/Http/Livewire/SectionPodcastPlayer.php:43
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
      • Podcast.php#215premier990μsselect exists(select * from `music_genres` inner join `musicables` on `music_genres`.`id` = `musicables`.`music_genre_id` where `musicables`.`musicable_id` = 40 and `musicables`.`musicable_type` = 'App\Models\Podcast' and `music_genres`.`deleted_at` is null) as `exists`
        Bindings
        • 0: 40
        • 1: App\Models\Podcast
        Backtrace
        • app/Models/Podcast.php:215
        • app/Models/PodcastEpisode.php:195
        • app/Http/Livewire/SectionPodcastPlayer.php:104
        • app/Http/Livewire/SectionPodcastPlayer.php:43
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
      • SectionPodcastPlayer.php#108premier470μsselect * from `listenable_progress_items` where `listenable_progress_items`.`listenable_type` = 'App\Models\PodcastEpisode' and `listenable_progress_items`.`listenable_id` = 22321 and `listenable_progress_items`.`listenable_id` is not null and `user_id` is null limit 1
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 22321
        Backtrace
        • app/Http/Livewire/SectionPodcastPlayer.php:108
        • app/Http/Livewire/SectionPodcastPlayer.php:43
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
      • SectionPodcastPlayer.php#168premier9.19msselect * from `podcast_episodes` where `podcast_id` = 40 and `published_at` < '2024-10-07 11:00:00' and `podcast_episodes`.`deleted_at` is null order by `published_at` desc limit 1
        Bindings
        • 0: 40
        • 1: 2024-10-07 11:00:00
        Backtrace
        • app/Http/Livewire/SectionPodcastPlayer.php:168
        • app/Http/Livewire/SectionPodcastPlayer.php:45
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
      • SectionPodcastPlayer.php#178premier8.84msselect * from `podcast_episodes` where `podcast_id` = 40 and `published_at` > '2024-10-07 11:00:00' and `podcast_episodes`.`deleted_at` is null order by `published_at` asc limit 3
        Bindings
        • 0: 40
        • 1: 2024-10-07 11:00:00
        Backtrace
        • app/Http/Livewire/SectionPodcastPlayer.php:178
        • app/Http/Livewire/SectionPodcastPlayer.php:46
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
      • PodcastEpisode.php#195premier1.35msselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\Models\PodcastEpisode' and `musicables`.`musicable_id` = 22321 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 22321
        Backtrace
        • app/Models/PodcastEpisode.php:195
        • view::livewire.section-podcast-player:4
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:59
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • Podcast.php#215premier570μsselect exists(select * from `music_genres` inner join `musicables` on `music_genres`.`id` = `musicables`.`music_genre_id` where `musicables`.`musicable_id` = 40 and `musicables`.`musicable_type` = 'App\Models\Podcast' and `music_genres`.`deleted_at` is null) as `exists`
        Bindings
        • 0: 40
        • 1: App\Models\Podcast
        Backtrace
        • app/Models/Podcast.php:215
        • app/Models/PodcastEpisode.php:195
        • view::livewire.section-podcast-player:4
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:59
      • Setting.php#20premier430μsselect * from `settings` where `setting_key` = 'web_donation_link' limit 1
        Bindings
        • 0: web_donation_link
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:59
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • Setting.php#20premier500μsselect * from `settings` where `setting_key` = 'web_donation_link' limit 1
        Bindings
        • 0: web_donation_link
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:59
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • Setting.php#20premier390μsselect * from `settings` where `setting_key` = 'web_donation_link' limit 1
        Bindings
        • 0: web_donation_link
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:59
        • vendor/laravel/framework/src/Illuminate/View/View.php:195
      • PodcastEpisode.php#195premier470μsselect exists(select * from `musicables` where `musicables`.`musicable_type` = 'App\Models\PodcastEpisode' and `musicables`.`musicable_id` = 22321 and `musicables`.`musicable_id` is not null) as `exists`
        Bindings
        • 0: App\Models\PodcastEpisode
        • 1: 22321
        Backtrace
        • app/Models/PodcastEpisode.php:195
        • app/Http/Livewire/SectionPodcastPlayer.php:132
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:93
      • Podcast.php#215premier560μsselect exists(select * from `music_genres` inner join `musicables` on `music_genres`.`id` = `musicables`.`music_genre_id` where `musicables`.`musicable_id` = 40 and `musicables`.`musicable_type` = 'App\Models\Podcast' and `music_genres`.`deleted_at` is null) as `exists`
        Bindings
        • 0: 40
        • 1: App\Models\Podcast
        Backtrace
        • app/Models/Podcast.php:215
        • app/Models/PodcastEpisode.php:195
        • app/Http/Livewire/SectionPodcastPlayer.php:132
        • vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php:36
        • vendor/laravel/framework/src/Illuminate/Container/Util.php:41
      • PodcastEpisode.php#102premier470μsselect * from `podcasts` where `podcasts`.`id` = 40 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 40
        Backtrace
        • app/Models/PodcastEpisode.php:102
        • app/Models/Traits/ThumbnailImage.php:26
        • app/Models/Traits/ThumbnailImage.php:66
        • view::livewire.section-podcast-player:168
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
      • PodcastEpisode.php#102premier450μsselect * from `podcasts` where `podcasts`.`id` = 40 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 40
        Backtrace
        • app/Models/PodcastEpisode.php:102
        • app/Models/Traits/ThumbnailImage.php:26
        • app/Models/Traits/ThumbnailImage.php:66
        • view::livewire.section-podcast-player:168
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
      • PodcastEpisode.php#102premier400μsselect * from `podcasts` where `podcasts`.`id` = 40 and `podcasts`.`deleted_at` is null limit 1
        Bindings
        • 0: 40
        Backtrace
        • app/Models/PodcastEpisode.php:102
        • app/Models/Traits/ThumbnailImage.php:26
        • app/Models/Traits/ThumbnailImage.php:66
        • view::livewire.section-podcast-player:168
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:84
      • Setting.php#20premier620μsselect * from `settings` where `setting_key` = 'web_login_modal_title' limit 1
        Bindings
        • 0: web_login_modal_title
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:69
      • Setting.php#20premier330μsselect * from `settings` where `setting_key` = 'web_login_modal_subtitle' limit 1
        Bindings
        • 0: web_login_modal_subtitle
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:69
      • Setting.php#20premier360μsselect * from `settings` where `setting_key` = 'web_donation_link' limit 1
        Bindings
        • 0: web_donation_link
        Backtrace
        • app/Models/Setting.php:20
        • app/Helpers/Settings.php:6
        • vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:110
        • vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • vendor/livewire/livewire/src/ComponentConcerns/RendersLivewireComponents.php:69
      App\Models\Setting
      6Setting.php#?
      App\Models\Podcast
      5Podcast.php#?
      App\Models\PodcastEpisode
      5PodcastEpisode.php#?
      section-podcast-player #tAjMXhGpitX3fli1nHsV
      array:5 [ "data" => array:10 [ "podcast" => App\Models\Podcast {#2055 #connection: "mysq...
          _token
          jOp3GKcsmGqDdhIFUNjuV8I2XzXZBSm0kPktmH4E
          ClearShow all
          Date ↕MethodURLData
          #12025-06-23 00:49:04GET/podcasts/timothy-keller-sermons-podcast-by-gospel-in-life/episodes/how-to-be-strong6226161