我通常远程登录学校的服务器。我有一个用户名和密码。命令是“ssh -l username -p port machineName”。(用户名是我的,端口是一个数字,machineName 是学校的机器)我将此命令分配给一个名为 log 的别名,但当我登录时它总是要求我输入密码。有什么方法可以让我的别名也在命令后输入密码吗?
答案1
答案2
如果您的安装启用了此功能ssh
,您应该按照程序创建所谓的公共加密密钥,然后使用这些密钥自动登录。这是一个相当简单的过程,您应该能够绕过整个密码输入问题。
使用搜索短语“生成 rsa 密钥对 ssh”在网上搜索,可以找到大量描述该过程的页面。 以下只是一个这样的链接。
我通常不使用密码短语。我会让其他评论者提供任何相反做法的理由。
whmcclos@mbp-wireless:~
[8] ls -ld ~/.ssh
drwx------+ 2 whmcclos staff 68 Feb 4 09:05 /Users/whmcclos/.ssh
whmcclos@mbp-wireless:~
[9] ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/whmcclos/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/whmcclos/.ssh/id_rsa.
Your public key has been saved in /Users/whmcclos/.ssh/id_rsa.pub.
The key fingerprint is:
77:93:ef:57:40:7d:ef:9b:6e:99:4a:a3:8a:8b:81:a9 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| . |
| . o|
| . o|
| .. .|
| S . + o |
| o . . o o|
| o . o. *|
| . o . o..*.|
| E . o.... .=o |
+-----------------+
whmcclos@mbp-wireless:~
[10] ls -l .ssh
total 8
-rw-------+ 1 whmcclos staff 1679 Feb 4 09:06 id_rsa
-rw-r--r--+ 1 whmcclos staff 417 Feb 4 09:06 id_rsa.pub
[11] cat $HOME/.ssh/id_rsa.pub | ssh myRemoteHost 'cat >> .ssh/authorized_keys && echo "Key copied"'
最后一次输入密码。现在,您应该能够ssh
无需密码即可进入远程主机。
$HOME/.ssh
请注意,假定已在两台主机(您来自的主机和您登录的主机)上创建了该文件夹。如果尚未创建,请先创建这些文件夹,然后再执行上述操作。还请注意,应chmod 700 $HOME/.ssh
在两台主机上将 $HOME/.ssh 文件夹的权限设置为。
在步骤 [9] 中,只需接受每个问题的默认条目,但了解这些问题的含义是值得的。