将ssh登录命令和密码写到终端配置里,通过自定义指令来快速执行SSH,并将密码复制到剪贴板中。
这里以 bash 为例,bash的配置文件是 ~/.bash_profile,在文件中添加以下内容:
# 设置剪贴板
setClip() { osascript -e 'set the clipboard to "'"${*}"'" as text';}
# 自定义 ssh指令
sshlocal() { setClip "mima\r"; ssh root@192.168.3.21;}
sshlocal22() { setClip "mima\r"; ssh -p 22 root@192.168.3.22;}
sshlocal23() { ssh -i ~/.ssh/my-ssh-key vm1@192.168.3.23;}
sshpi() { setClip "mima"; ssh pi:raspberry@raspberrypi.local;}
# 自定义 sftp指令
ftplocal() { setClip "mima\r"; sftp root@192.168.3.21;}
ftplocal22() { setClip "mima\r"; sftp -P 22 root@192.168.3.22;}
# 将指令记录下来,方便下次查询
sshlist() {
echo 指令名 连接内容
echo sshlocal 192.168.3.21
echo sshlocal22 192.168.3.22
echo sshlocal23 192.168.3.23
echo sshpi ssh pi:raspberry@raspberrypi.local
}
# 打开finder并选中 ssh config,可以使用记事本进行编辑
sshconfig() { open -R ~/.ssh/config;}
# 打开 .bash_profile 配置文件
bp() { open -e ~/.bash_profile;}
# 更新配置
sp() { source ~/.bash_profile;}
添加并保存后,执行 source ~/.bash_profile
,让配置生效。
- 终端配置文件,生效之后,在终端输入
bp
可以使用“文本编辑”快速打开配置文件,保存完后,在终端输入sp
让修改后的配置生效。 - ssh使用,输入
sshlocal
,将自动执行方法内的代码,先将密码复制到剪贴板中,待终端提示输入密码时,⌘+V 粘贴密码即可,“\r”是换行符,相当于粘贴密码的同时,自动按了下 Enter键。
类似的,可以添加更多ssh链接信息。 - 列出指令,在
sshlist
里填写,填写指令及链接信息,当ssh连接过多时,可以通过这个指令查询。 open
、osascript
指令是macOS独有指令。