我有许多需要登录的远程机器。我需要以某种方式存储连接参数,因为手动输入它们太无聊了。此外,我更喜欢在这些快捷方式中存储密码。在 Windows 下运行的类似 MTPuTTY 的软件可以解决我在 Ubuntu 中的问题。
如何解决这个问题呢?
答案1
你可以用文件做很多事情.ssh/config
。它允许你替换这个:
ssh [email protected] -p 22000
和:
ssh dev
为此,您必须在末尾添加以下几行.ssh/config
(如果不存在则创建)
Host dev
HostName dev.example.com
Port 22000
User fooey
关于凭证的存储,我强烈建议您使用密钥认证而不是基于密码的认证。您可以使用 GUI 或终端来创建它们。
图形用户界面
打开Seahorse
,选择File > New
,然后Secure Shell Key
让界面引导您
终端 创建 RSA 密钥对:
ssh-keygen -t rsa
存储密钥和密码:
Enter file in which to save the key (/home/demo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
复制公钥
ssh-copy-id [email protected]
资料来源:
答案2
如果你愿意,你可以编写简短的 shell 脚本来启动 ssh 会话,然后将其作为可执行文件 ( chmod o+x
) 执行,或者使用点.
命令
就像创建一个文件~/ssh2hostA.sh
#!/bin/sh
sshpass -p 'yourpassword' ssh user@hostA
然后开始
. ~/ssh2hostA.sh
这不是一件好事,因为不仅您的文件中散布着明文密码,而且人们可能还能够在命令中看到密码w
。(和top
,和/proc
)
实际上,您应该为此使用 ssh 主机密钥。
真的。