如何更加优雅的使用 SSH 进行登录
引言
我们在日常的开发过程中,很多时候需要连接服务器查看日志或者在服务器上调试代码。但是,使用 ssh 命令登录服务器每次都需要输出密码,就比较繁琐。因此我们可以使用 sshpass 通过参数指定密码进行登录。解决了这个问题之后,我发现登录服务器之后,还需要手动 cd 切换到项目目录或者日志目录。为了能够使用一条命令,直接到达目的地,还可以通过指定 -t
参数,下面就详细介绍一下使用方式。
直接通过参数指定密码进行登录
原生的 SSH 不支持直接在参数中指定密码,所以我们使用一个新的工具 sshpass,用来通过参数指定密码。
1、首先,按照 sshpass。
sudo apt-get install sshpass
2、安装完成之后,进行登录操作。
sshpass -p 123456 ssh root@127.0.0.1 -p 22
登录之后,直接切换到项目目录
-o ServerAliveInterval=60
参数,这个属性的作用是client每隔60秒发送一次请求给server,然后server响应,从而保持连接。-t
建立这个连接时强制使用伪终端模式。cd /opt/project;bash;
,cd /opt/project;
切换到项目目录下,bash;
作用是执行远程命令后不自动断开 ssh 连接。
sshpass -p 123456 ssh root@127.0.0.1 -p 22 -o ServerAliveInterval=60 -t 'cd /opt/project;bash;'
总结
1、使用公私钥的方式,也可以不用指定密码。
2、使用 sshpass 可以更快捷的登录服务器。
3、使用 -t 'bash;'
可以执行远程命令,并且不退出。