DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
FREEDOM251

Freedom251 › Blog › cybersecurity

How to Install Kippo SSH Honeypot on an Ubuntu VPS

By Freedom251 Team · · 11 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Kippo can still be installed on an Ubuntu VPS, but it is legacy software. Its upstream README targets Python 2.5 or newer, Twisted 8.0–15.1.0, PyCrypto and Zope Interface; the optional kippo-extra package requires Python 2.7 or newer and does not support Python 3. DigitalOcean describes Kippo as no longer maintained and identifies Cowrie as its successor.

Use a separate, disposable VPS, keep your real SSH administration path on a different port or through carefully tested forwarding, and treat every file downloaded by an attacker as hostile. The procedure below shows the safe deployment pattern, what to configure, how to test it and where to find the resulting evidence.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Decide whether Kippo is appropriate

Kippo is a medium-interaction SSH honeypot. It presents a fake Debian-like filesystem, accepts configurable fake file contents, records attacker shell sessions in replayable UML-compatible logs, captures files fetched with wget and implements command-line tricks intended to keep an intruder interacting with the decoy. The upstream project describes its purpose as logging brute-force attacks and the entire shell interaction that follows a successful login.

That functionality is useful for observing automated scans and attacker behavior, but the software’s age changes the installation decision. The dependency range is tied to Python 2-era packages, and kippo-extra explicitly excludes Python 3. Modern Ubuntu images may no longer package the required interpreter or libraries. Before opening a public listener, confirm that the chosen image can run the exact source revision and dependencies you intend to use.

#1 Best Overall
Sale
TOZO A1 Wireless Earbuds Bluetooth 5.3 Light Weight in Ear Headphones | IPX5 Waterproof,2 Mics for AI Calls,Immersive Premium Sound Bass Headset with Charging Case,32 EQ via App Black
  • [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
  • [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
  • [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
  • [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
  • [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.

Use a disposable host

  • Provision a VPS used only for the honeypot. Do not share it with production applications, personal data or administrative tooling.
  • Keep real SSH keys, passwords, API tokens, cloud credentials and private network routes off the machine.
  • Assume that anything downloaded during a session is malicious. Collect it, then inspect it on an isolated analysis system rather than on the VPS.
  • Enable the provider’s out-of-band console before changing SSH settings. It is your recovery path if a port change or firewall rule cuts off remote access.

Check the Ubuntu image first

Do not assume that a current Ubuntu release can install Python 2, the historical Twisted range, PyCrypto and Zope Interface from its normal repositories. Package names and availability vary by release. If the image does not provide a compatible runtime, stop and choose a controlled legacy image or a maintained honeypot instead of forcing untrusted packages into a production-like system.

Plan the SSH ports before installing

Kippo’s upstream default listener is port 2222. The README warns that binding directly to port 22 requires root privileges. Running the service as root defeats the isolation goal, so plan the port layout before starting the daemon.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep administrative SSH separate

Your real SSH daemon must remain reachable on a separate high port, or traffic for public port 22 must be forwarded to Kippo while administrative traffic is routed elsewhere. Make one change at a time and keep an already authenticated console or SSH session open until a second session has successfully connected through the new path.

  1. Record the current administrative SSH address and authentication method.
  2. Choose a separate high port for the real SSH daemon, or design a forwarding rule that leaves the administrative port untouched.
  3. Apply the change using the provider console or an existing SSH session.
  4. From a different machine, verify that the real daemon accepts your key or password on its new path.
  5. Only after that test, expose the Kippo listener to the Internet.

Do not expose both services accidentally

A firewall rule that opens port 22 while the real daemon is still bound there can either prevent Kippo from starting or expose the administration service instead of the honeypot. Confirm which process owns each listening socket before announcing the VPS address. Provider-level firewall rules should allow only the intended public listener and your restricted administration path.

Install the legacy runtime dependencies

Kippo’s upstream README lists these requirements:

Component Requirement stated by the project
Python 2.5 or newer
Twisted 8.0 through 15.1.0
Cryptography PyCrypto
Interfaces Zope Interface
kippo-extra Python 2.7 or newer; Python 3.x is not supported

The exact Ubuntu package names, OpenSSL packages and PyASN1 packages depend on the image and source revision. Install only versions that match the revision you selected. Historical tutorials often contain commands for obsolete Ubuntu releases; copying those commands unchanged can install the wrong interpreter, fail to resolve dependencies or leave a partially configured environment.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Smart Watch for Men Women Compatible with iPhone Samsung Android Phone 1.69 inch Full Touch Screen IP68 Waterproof Bluetooh Fitness Tracker Heart Rate/Sleep Monitor (Black)
  • 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
  • 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
  • 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
  • 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
  • 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.

Verify the interpreter and libraries

Before fetching the source, verify that the selected runtime actually launches and that the required modules can be imported. Use the package manager and the interpreter supplied by your chosen image, then check the versions against the ranges above. If the system offers only Python 3, do not attempt to run Kippo under it: kippo-extra states that Python 3.x is unsupported.

Keep the dependency scope narrow

Install dependencies for the dedicated honeypot account or isolated environment where possible. Avoid adding development credentials, source repositories containing secrets or unrelated services to the VPS. A honeypot should have the smallest practical software footprint because every additional component increases the impact of a compromise.

Create the Kippo account and obtain the source

Use a dedicated non-root account. The historical Ubuntu installation procedure calls this account kippo; the name is conventional rather than a requirement.

  1. Create the dedicated account with no administrative role.
  2. Log in as that account for source retrieval, configuration and normal operation.
  3. Place the Kippo source in a directory owned by the service account.
  4. Select a source revision whose dependency requirements you have verified against the Ubuntu image.

Do not run the honeypot from a home directory that contains real SSH keys or other personal files. Keep the service tree separate from operating-system configuration and from any directory used to stage downloaded samples.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Configure Kippo before first start

From the source directory, copy the distributed configuration file and edit the copy:

cp kippo.cfg.dist kippo.cfg

The upstream project instructs operators to edit kippo.cfg before startup. Review every available setting rather than accepting defaults blindly.

Rank #3
New Bee Guitar Cable 10ft Electric Instrument Bass AMP Cord
  • [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
  • [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
  • [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
  • [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
  • [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by

Listener and identity settings

  • Set the listener to the internal port you selected, with the upstream default of 2222 as the reference point.
  • Choose a hostname that makes the decoy believable without copying the name of a real production system.
  • Define the fake credentials and shell behavior that attackers will encounter. Never reuse a real password, key or account name that grants access elsewhere.

Filesystem and content settings

Configure the fake filesystem and fake file contents so that the environment contains no genuine credentials or sensitive documents. The goal is to provide believable interaction while ensuring that every apparent secret is synthetic.

Logging settings

Keep file logging enabled. You need both the general debug log and the per-session recordings to investigate activity. Confirm that the service account can write to the configured log and download directories before exposing the port.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Expose Kippo without losing SSH access

There are two safe patterns: keep Kippo on its non-privileged port and forward public traffic to it, or move the real SSH daemon to a separate high port and arrange for Kippo to receive the public SSH port. The exact forwarding mechanism depends on your VPS provider and firewall, so test it from a second machine before closing the original session.

Pattern A: leave Kippo on port 2222

  1. Configure Kippo to listen on 2222 or another unprivileged port.
  2. Open only that port at the provider firewall while testing.
  3. Connect from a separate machine and confirm that the fake SSH banner and login flow appear.
  4. If you later add forwarding from public port 22, ensure the forwarding target is the Kippo process and that the real SSH daemon remains on its separate administrative port.

This pattern avoids granting Kippo root privileges simply to bind a low port.

Pattern B: move real SSH and reserve public port 22 for Kippo

  1. Using the provider console or a currently working SSH session, configure the real SSH daemon to use a high port.
  2. Reload or restart the daemon only after validating its configuration.
  3. Open a second connection to the high port and authenticate successfully.
  4. Configure Kippo or the provider’s forwarding layer to receive public port 22.
  5. Test from outside the VPS. Keep the console session available until both services have been verified.

Binding Kippo directly to port 22 as root is technically possible according to the README, but it is a poor isolation trade-off. Prefer forwarding or another design that lets Kippo run as the dedicated account.

Start Kippo and verify the listener

Start in the foreground first. It makes dependency, permission and binding errors visible:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
BSIMB 15.6" Digital Family Calendar & Chore Chart, No Subscription Fees
  • Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
  • Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
  • All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
  • Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
  • Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
twistd -y kippo.tac -n

When troubleshooting is complete, the project’s background launcher is:

./start.sh

Run these commands from the Kippo source directory and as the dedicated service account. A successful start is not enough; verify the connection from a separate machine, because a local process can be running while a provider firewall, forwarding rule or port collision blocks Internet traffic.

Perform a controlled connection test

  1. From a separate system, connect to the configured public address and port with an SSH client.
  2. Use only synthetic test credentials.
  3. Confirm that the session reaches Kippo’s fake shell rather than the real operating-system shell.
  4. Issue a few harmless commands, then end the session.
  5. Check that the session and debug records were written before allowing unsolicited traffic.

Never test with a key that is authorized on another host. A honeypot test should be unable to unlock anything outside the decoy.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Find logs and files captured from attackers

Kippo’s upstream README identifies three important locations:

  • log/kippo.log contains debug output and operational messages.
  • log/tty/ contains tty session recordings that can be replayed or processed using UML-compatible tooling.
  • dl/ contains files fetched through the honeypot’s wget handling.

Use the records as separate evidence streams

The debug log helps explain startup failures, authentication attempts and service behavior. Tty recordings preserve the attacker’s command sequence and timing. The download directory contains payloads that may explain what the attacker intended to run. Preserve timestamps and filenames when exporting evidence so that the session record and downloaded object can be correlated.

Handle downloads as hostile samples

Do not execute anything from dl/ on the VPS. Copy samples to an offline or separately isolated analysis environment, calculate hashes there and restrict any network access used for analysis. The honeypot is an observation point, not a malware laboratory.

Harden the VPS around the honeypot

  • Use provider firewall rules to expose only the intended listener and a narrowly restricted administration path.
  • Keep out-of-band console access enabled and test that you can use it.
  • Run Kippo under the dedicated non-root account.
  • Do not mount production storage, attach shared credentials or permit routes into private networks.
  • Limit outbound access where your provider and collection goals allow it; unrestricted egress can let a compromised service participate in attacks.
  • Monitor disk usage because tty recordings, debug logs and downloaded files grow over time.
  • Export evidence regularly to a secured location, then remove samples from the VPS according to your retention policy.

Troubleshoot common installation failures

The process exits because a dependency is missing

Read the first import or version error in the foreground output. Compare the installed interpreter and Twisted version with the upstream requirements, then verify PyCrypto and Zope Interface. Do not solve a Python 3 incompatibility by installing random compatibility shims; kippo-extra explicitly does not support Python 3.x. If the Ubuntu image cannot supply the required legacy stack, use a controlled image or select a maintained alternative.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Kippo cannot bind to the selected port

A low port such as 22 may require root privileges, and another daemon may already own the port. Return to the separate-port plan, confirm which process is listening, and prefer forwarding or an unprivileged port for the dedicated account. Do not repeatedly launch Kippo as root without understanding the isolation consequences.

The service starts but remote clients cannot connect

  1. Confirm the process is listening on the configured address and port.
  2. Check the VPS provider firewall and any host firewall rules.
  3. Verify that forwarding targets Kippo rather than the real SSH daemon.
  4. Test from a network outside the VPS.
  5. Review log/kippo.log for startup and connection errors.

You lose administrative SSH access

Use the provider’s out-of-band console. Restore the previously tested administrative port, verify the daemon configuration and reconnect from a second machine before attempting another port change. This is why a disposable VPS and console access are prerequisites, not optional conveniences.

No session recordings appear

Check that logging is enabled in kippo.cfg, that the service account owns or can write to log/ and log/tty/, and that your test actually reached Kippo. Foreground mode usually reveals permission errors immediately.

The download directory contains unexpected files

Treat every object in dl/ as hostile. Preserve it without execution, correlate it with the tty recording, and move it to an isolated analysis system. A downloaded payload is evidence of attacker behavior, not a package to install on the VPS.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Should you use Kippo or a successor?

Kippo’s legacy status is the central decision point. DigitalOcean’s tutorial says it is no longer maintained and has been superseded by Cowrie. The available material does not establish a current, authoritative compatibility matrix, performance benchmark or feature-by-feature comparison, so choose on operational evidence rather than assuming that one installation will work on every Ubuntu release.

Compare these factors before committing:

  • Runtime support: whether the project supports the interpreter and libraries available on your Ubuntu image.
  • Maintenance activity: whether security fixes and current installation guidance are published.
  • Protocol emulation: whether the project provides the SSH and shell behavior your observation goal requires.
  • Logging and export: whether recordings, authentication events and downloaded files integrate with your monitoring system.
  • Isolation model: whether the deployment can run as a least-privilege account on a disposable host.
  • Documented current-OS procedure: whether the installation steps are written for the release you intend to deploy.

If you need a maintained honeypot on a current operating system, investigate the successor rather than forcing Kippo’s Python 2-era stack onto an unsupported image. If historical Kippo behavior is specifically required, pin the environment, isolate it aggressively and document the exact source revision and packages used.

Operational checklist

  • Disposable Ubuntu VPS provisioned.
  • Provider console access tested.
  • Real SSH administration path separated from the honeypot listener.
  • Dedicated non-root Kippo account created.
  • Python, Twisted, PyCrypto and Zope Interface versions verified against the selected source revision.
  • kippo.cfg.dist copied to kippo.cfg and listener, hostname, synthetic credentials, logging and fake filesystem reviewed.
  • Foreground startup tested with twistd -y kippo.tac -n.
  • Background startup tested with ./start.sh only after the foreground run is clean.
  • External connection confirmed from a separate machine.
  • log/kippo.log, log/tty/ and dl/ monitored.
  • Downloaded files quarantined for offline inspection.
  • Firewall, disk usage and evidence-export procedures documented.

What a successful deployment looks like

A correct installation is not merely a process that stays running. The real SSH service remains reachable through its protected administration path; Kippo accepts connections on the intended public listener without root privileges where possible; synthetic credentials lead to the fake environment; tty and debug records are written; and downloaded files are captured without exposing production assets. If any of those conditions is missing, keep the listener closed until the fault is corrected.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

cybersecurityhoneypot deploymentKippoSSH honeypotUbuntu VPS

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.