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

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Put each server’s connection details in ~/.ssh/config. Give every server (or server group) a Host alias, set its real address with HostName, select the login account with User, and point IdentityFile to the matching private key. Add IdentitiesOnly yes when you want to prevent other keys loaded in ssh-agent from being offered.

What this setup changes

OpenSSH reads per-user settings from ~/.ssh/config before it connects. A Host line selects a configuration block. The word after Host is an alias you type at the shell; it does not have to be a DNS name. HostName supplies the real DNS name or IP address, User supplies the remote account, and IdentityFile names the private key used for authentication.

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

For example, ssh production can connect to prod.example.com as deploy with one key, while ssh staging connects to a different address with a different key. You stop adding -i to every command, and the intended key is visible in one auditable file.

Prerequisites before editing the file

  • Have a private-key file for each trust boundary, such as ~/.ssh/id_ed25519_production and ~/.ssh/id_ed25519_staging.
  • Install the corresponding public key in the correct account on each Linux server. A key file on your workstation is not enough unless the server account accepts its public half.
  • Use an OpenSSH client and the same user account whose home directory contains the configuration. The file is per user, so a configuration in one account’s home directory does not automatically apply to another account.
  • Back up an existing configuration before making changes. SSH configuration is line-oriented; a typo can affect every connection that matches a block.

Protect the directory and private keys with restrictive permissions. A common baseline is chmod 700 ~/.ssh for the directory and chmod 600 ~/.ssh/id_ed25519_production ~/.ssh/id_ed25519_staging ~/.ssh/config for private files and the configuration. Never paste private-key contents into tickets, chat, documentation, or shell history.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application:Upgraded attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Warranty & Support: Our Electric air duster comes with 5 years warranty and 24/7 customer service. During this period, if you have any questions,pls kindly feel free to contact us.

Create one explicit block per server

  1. Create or open the per-user file:

    mkdir -p ~/.ssh
    chmod 700 ~/.ssh
    ${EDITOR:-vi} ~/.ssh/config
  2. Add a block for each server. This example uses explicit aliases and one key per host:

    Host production
        HostName prod.example.com
        User deploy
        IdentityFile ~/.ssh/id_ed25519_production
        IdentitiesOnly yes
    
    Host staging
        HostName staging.example.com
        User deploy
        IdentityFile ~/.ssh/id_ed25519_staging
        IdentitiesOnly yes
  3. Save the file and set its permissions:

    chmod 600 ~/.ssh/config
  4. Connect with the alias rather than the long command:

    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.
    ssh production
    ssh staging

How OpenSSH interprets the entries

Host production is the selector. It creates a short, stable command name. HostName prod.example.com is the destination actually resolved by the client. User deploy avoids relying on your local username. IdentityFile ~/.ssh/id_ed25519_production points to the private key that should authenticate to that server.

The two blocks can use the same remote account while still selecting different keys. They can also use different accounts; change the User line in each block when, for example, one host requires admin and another requires deploy. Keep the alias descriptive enough that you can identify its environment without opening the file.

Stop ssh-agent from trying unrelated keys

An authentication agent can hold several identities and offer them to an SSH server. If the server rejects too many incorrect offers, the connection can fail before the intended key is tried. IdentitiesOnly yes tells the client to use only the identity and certificate files configured for that host, even when the agent offers additional identities.

That option is why the example uses both IdentityFile and IdentitiesOnly yes. It does not unload keys from the agent, erase them, or change agent behavior for other host blocks. It limits what this connection asks the agent and client to present.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

When strict selection is appropriate

  • Use it when production, staging, customer, or personal servers have separate keys and the boundaries matter.
  • Use it when an agent contains many keys and a server enforces a small authentication-attempt limit.
  • Use it when you want a failed connection to indicate that the configured key is wrong, rather than silently trying a collection of unrelated keys.

When a sequence is intentional

There are cases where a server legitimately accepts more than one key or where you are migrating from an old key to a new one. In that situation, configure the sequence deliberately and understand that each identity may be tried. Do not add extra files merely as a precaution; every additional identity increases the number of credentials considered for that host.

Group servers with Host patterns

Host accepts patterns, so a single block can cover a group of servers. An asterisk matches any sequence of characters and a question mark matches one character. This block applies to matching names:

Host *.prod.example.com
    User deploy
    IdentityFile ~/.ssh/id_ed25519_production
    IdentitiesOnly yes

Patterns are useful when a fleet shares an account and key policy. If the servers are named api.prod.example.com, web.prod.example.com, and worker.prod.example.com, the block avoids repeating the same settings.

Pattern lists and exclusions

Comma-separated pattern lists combine alternatives. A pattern can be negated by putting ! before it. For example:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Host *.example.com,!legacy.example.com
    User deploy
    IdentityFile ~/.ssh/id_ed25519_current
    IdentitiesOnly yes

The positive pattern selects the broader group, while the negated pattern excludes the legacy host. A list containing only negated patterns does not create a positive match; include at least one positive pattern when you want the block to apply.

When to prefer explicit aliases

Use an explicit alias when you need a stable short command, when a server is reached through different names, or when a broad pattern could accidentally include a host with a different trust boundary. An alias also makes reviews easier: a reviewer can see exactly which key is selected for production without mentally evaluating a fleet-wide wildcard.

Rank #3
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Understand multiple IdentityFile directives

IdentityFile is additive rather than a simple last-value-wins setting. The OpenSSH manual states that multiple IdentityFile directives add to the list of identities tried. This means the following block intentionally creates a sequence:

Host migration
    HostName migrate.example.com
    User deploy
    IdentityFile ~/.ssh/id_ed25519_new
    IdentityFile ~/.ssh/id_ed25519_old
    IdentitiesOnly yes

The client can try the new key and then the old key. If you want strict one-key-per-server behavior, keep one IdentityFile and set IdentitiesOnly yes. Adding a second line does not replace the first one.

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

Use parameterized key paths when names follow a rule

IdentityFile accepts ~ and documented tokens that expand when a connection is made. The available tokens in this context include:

Token Expansion Example use
%d Local home directory %d/.ssh/keys/%h
%h Remote host ~/.ssh/keys/%h
%n Original host name supplied to the client ~/.ssh/keys/%n
%p Port ~/.ssh/keys/%h-%p
%r Remote user ~/.ssh/keys/%r@%h
%u Local user ~/.ssh/keys/%u/%h

Tokenized paths reduce repetition when your filenames follow a predictable scheme. Explicit filenames are easier to audit when servers have different trust boundaries, because the key choice is visible without calculating several expansions. Choose the style that makes accidental cross-environment use least likely.

Do not confuse HostKeyAlias with the user key

HostKeyAlias controls the name OpenSSH uses when looking up and storing a server’s host key. The option is useful for tunneling or for multiple servers that appear under one network host. It changes host-key database naming and validation; it does not select the private key used to authenticate your user.

Use IdentityFile for user authentication and HostKeyAlias only when you need a separate host-key name. Changing the latter will not fix a private-key or account-selection problem.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

Verify the effective settings before troubleshooting authentication

On OpenSSH clients that support the configuration-dump mode, run:

ssh -G production

The output shows the options after the client has evaluated the Host blocks and aliases. Check that the resolved hostname, user, identityfile, and identitiesonly values match the server you intended. To focus on those fields on a typical Linux workstation:

ssh -G production | grep -E '^(hostname|user|identityfile|identitiesonly) '

Repeat the check for staging and for any wildcard-matched name. If the command reports an unexpected host or key, fix the matching Host block before changing server-side permissions.

Choose the setup that fits your workflow

Setup Repeatability Risk of selecting the wrong key Auditability Behavior with ssh-agent Portability
Explicit alias with one IdentityFile and IdentitiesOnly yes High; use the same short command every time Low when aliases and filenames are distinct High; each server has a visible block Only the configured identity and certificate files are used Copy the config and the required keys to each workstation, then adjust paths
Wildcard group with one key High for hosts that follow the naming pattern Medium if the pattern is broader than the trust boundary Medium; the applicable block must be inferred from the name Deterministic when IdentitiesOnly yes is present Works where host naming and key paths are consistent
Command-line ssh -i Low; the option must be repeated or scripted Medium; a typo or stale path can select the wrong file Limited to shell history, scripts, or the command being reviewed Adding -i does not by itself prevent other agent identities from being offered Portable when the same path exists, but every command must carry the option
Several IdentityFile lines High when a deliberate fallback sequence is required Higher because each listed identity may be tried Medium; the order must be understood Combine with IdentitiesOnly yes to limit offers to that list Requires every listed file on the destination workstation
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot the common failure modes

The alias connects to the wrong server

Run ssh -G alias and inspect hostname. The word after Host is only a selector; it does not override HostName. Correct the destination in the matching block and test again.

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

The login account is wrong

Inspect the resolved user value. A missing User line causes the client to use the local account name, which may not exist on the server. Add the required account to that host’s block.

The server reports too many authentication failures

Set IdentitiesOnly yes alongside the intended IdentityFile. This prevents unrelated agent identities from being offered. If the block contains several IdentityFile lines, remember that all of them are additive and may be tried.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

The intended key is not being used

Check the exact path shown by ssh -G, including capitalization and the expanded home directory. Confirm that the private file exists, is readable by your account, and corresponds to a public key installed for the selected User. A correct path cannot authenticate if the server account has a different public key.

A wildcard block does not apply

Compare the name supplied to ssh with the pattern. A wildcard such as *.prod.example.com matches names in that form; an unrelated alias such as production requires its own explicit block. If you used a negated pattern, ensure the same pattern list also contains a positive match.

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

A host-key warning appears after changing aliases

Host-key records are associated with names. If you intentionally need a different lookup name for tunneling or multiple servers on one host, use HostKeyAlias. Do not change it as a substitute for selecting the correct user key; it affects host-key validation, not user authentication.

The configuration works on one workstation but not another

The file and private keys are local to each user account. Copy the configuration through a secure channel, install only the keys that workstation needs, and update paths if home directories differ. Re-run ssh -G on the second machine to verify the resolved values instead of assuming the two environments are identical.

Maintain the configuration safely

  • Use unique, descriptive aliases such as production, staging, and backup-eu rather than ambiguous names.
  • Keep production and non-production keys in separate files and reference each file from only the intended host block.
  • Use IdentitiesOnly yes for strict per-server selection, especially when an agent contains several identities.
  • Use wildcard blocks only for servers that genuinely share the same account and key policy; add explicit aliases for exceptions.
  • Remember that multiple IdentityFile lines add identities. Review the complete list whenever a connection unexpectedly tries more than one key.
  • Keep ~/.ssh, the configuration, and private keys protected with restrictive permissions, and never disclose private-key material.
  • After every substantial edit, validate each important alias with ssh -G before attempting a production change.

A practical final configuration

The following combines explicit aliases for sensitive environments with a wildcard for a uniform production subdomain:

Host production
    HostName prod.example.com
    User deploy
    IdentityFile ~/.ssh/id_ed25519_production
    IdentitiesOnly yes

Host staging
    HostName staging.example.com
    User deploy
    IdentityFile ~/.ssh/id_ed25519_staging
    IdentitiesOnly yes

Host *.prod.example.com
    User deploy
    IdentityFile ~/.ssh/id_ed25519_production
    IdentitiesOnly yes

Use ssh production and ssh staging for the named systems. Use the real matching hostname for another production subdomain. If one production host needs a different key or account, give it an explicit alias and configuration instead of relying on the broad pattern.

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

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.