我在校外经常需要访问部门服务器,这需要:
ssh [email protected]
然后输入密码,然后
ssh private.school.com
然后再次输入相同的密码。(除非您在校园网中,否则您无法直接 ssh 到第二个。)
我怎样才能做到只需输入一行简单的命令就能直接进入私人服务器?我完全不担心这里的安全性,我真的希望完全不用输入密码。
答案1
SSH 允许您指定要在远程主机上运行的命令来代替登录 shell。因此,您可以编写一个将两个实例链接在一起的 SSH 命令,如下所示:
ssh [email protected] -t -t ssh [email protected]
当然,如果用户名相同,您可以省略。
显然,输入起来很麻烦,因此您可以通过在文件中放入以下行来设置 bash 别名~/.bash_profile
(如果它尚不存在,则需要创建它):
alias school_ssh='ssh [email protected] -t -t ssh [email protected]'
我认为您不能指定密码。但是,如果可以的话,您可以生成 SSH 密钥对。在本地计算机上,输入私钥,将公钥放在公立学校网络上。然后 ssh 进入公用网络并生成第二个密钥对。将第二个私钥留在公用网络上,将第二个公钥放在专用网络上。
SSH 密钥将要求您输入密码。您可以指定无密码,只需在生成提示符下不输入任何内容并按 Enter 键即可,但我建议不要这样做。这是因为 SSH 密码比普通密码更省事:当在 xterm 中运行的程序要求使用 SSH 密钥时,Ubuntu 将弹出图形密码框,而不是在终端中询问您。然后,您可以选择在会话的剩余时间内保持 SSH 密钥解锁。您还可以将 Ubuntu 设置为在登录时自动解锁密钥。