方案一: ssh-copy-id
https://juejin.im/post/5d4d4ce55188255d803f9479
使用ssh config
实现密码登录的方法是通过openssh
的ssh config
的功能。具体操作为~/.ssh/config,如果不存在,可以新建一个 然后vim ~/.ssh/config
1 | Host aliyun |
保存退出。这时在iTerm2中就可以输入ssh aliyun
,回车 然后输入密码。注意,这时候已经不用输入ssh [email protected],只要输入密码就登录上了
设置免密登录
方法是使用ssh-copy-id
功能,原理是将本机的密钥复制到远程要连接的机器上,从而授权连接。iterm终端输入:
(可选)如果你的机器没有生成过ssh密钥则输入,如果已经存在,则忽略这步
1
ssh-keygen
复制密钥到远程目的服务器
1
ssh-copy-id -i [email protected]
按提示输入一次密码,`ssh-copy-id`就会自动将刚才生成的公钥id_rsa.pub追加到远程主机的`~/.ssh/authorized_keys`后面了,这样以后的 ssh 连接都不用输入密码了。
设置后,连接试试看看效果
1
ssh aliyun
你会发现可以
一步命令
直接等上远程服务器了。但是还是要打开终端iTerm2。再方便一点的登录远程服务器就需要alfred了
方案二: 自定义 expect 脚本
可以在~/.ssh/下面写一个脚本,配置到 iTerm2 的 Profiles 里(当然放在其他地方也可以)。脚本内容如下:
1 | !/usr/bin/expect -f |
保存到~/.ssh/server-test