最近踏入了Mac的坑,各种不适应,linux服务器上有个java web项目几个class需要发布,想找个类似windows下f-secure ssh套件,即可以进行命令操作,又可以进行文件操作。很遗憾,没找到合适的,哪位大侠有合适的求推荐。但是活得干,程序要发布呀,怎么办?那就利用mac自带的ssh、scp和sftp客户端来实现服务器远程操作和文件上传吧,虽然low了点,但是简介高效,同时找了一个好用的ftp客户端Filezilla,希望对大家有帮助。
一、SSH远程连接服务器
1、ssh远程连接服务器
输入ssh 用户@ip,根据提示输入登录密码,如下所示。
ssh root@服务器
root@服务器's password:
Last login: Thu Jun 28 10:13:49 2018 from 客户端IP
Welcome to aliyun Elastic Compute Service!
[root@iZ235q5ety4Z ~]#
成功连接后,我们就可以进行命令操作了,如:
/usr/local/tomcat/bin/shutdown.sh tomcat停止
/usr/local/tomcat/bin/startup.sh tomcat启动
2、关闭远程连接,返回本地命令操作,输入指令:exit
[root@iZ235q5ety4Z ~]# exit
logout
Connection to 服务器 closed.
3、保存服务器地址,方便以后快速连接
shell->新建远程连接,增加服务器,输入服务器ip地址,用户名,点击连接即可,如下图所示
二、利用scp客户端进行文件(夹)上传、下载
1、上传文件,scp 本地文件路径 用户名@服务器ip:目标路径
mabendeMacBook-Pro:~ maben$ scp ly-facturer.war root@服务器:/usr/local/marcus
root@服务器's password:
Permission denied, please try again.
root@服务器's password:
ly-facturer.war 100% 4828 36.4KB/s 00:00
mabendeMacBook-Pro:~ maben$
如上所示,将本地当前目录的ly-facturer.war上传到服务器usr/local/marcus目录下。
2、上传文件夹,scp -r 本地文件夹路径 用户名@服务器ip:目标路径
mabendeMacBook-Pro:~ maben$ scp -r htdocs root@服务器:/usr/local/marcus
root@服务器's password:
.DS_Store 100% 6148 546.9KB/s 00:00
ly-facturer.war 100% 4828 234.6KB/s 00:00
ly-facturer2.war 100% 4828 372.1KB/s 00:00
mabendeMacBook-Pro:~ maben$
如上所示,将本地htdocs目录上传到服务器usr/local/marcus下。
3、scp下载文件,scp 用户名@服务器ip:文件路径 本地文件路径
mabendeMacBook-Pro:Downloads maben$ scp root@服务器:/usr/local/marcus/ly-facturer.war /Users/maben/Downloads/
root@服务器's password:
ly-facturer.war 100% 4828 194.3KB/s 00:00
mabendeMacBook-Pro:Downloads maben$
如上所示,将服务器/usr/local/marcus/ly-facturer.war下载到本地Downloads目录下。
4、scp下载文件夹,scp -r 用户名@服务器ip:文件夹路径 本地文件夹路径
mabendeMacBook-Pro:Downloads maben$ scp -r root@服务器:/usr/local/marcus/htdocs /Users/maben/Downloads/
root@服务器's password:
.DS_Store 100% 6148 1.0MB/s 00:00
ly-facturer.war 100% 4828 376.0KB/s 00:00
ly-facturer2.war 100% 4828 309.5KB/s 00:00
mabendeMacBook-Pro:Downloads maben$
如上所示,将服务器/usr/local/marcus/htdocs目录下载到本地Downloads目录下。
三、利用SFTP进行文件上传、下载
scp有个弊端,每次执行指令需要输入服务器登陆密码重新连接服务器,频繁的文件操作就略显麻烦啦!幸运的是Mac自带还有另外一个文件上传、下载客户端SFTP,只要成功连接,后续就可以get、put进行文件下载、上传啦!
1、打开终端应用,输入 sftp 用户@服务器IP
mabendeMacBook-Pro:Downloads maben$ sftp root@服务器
root@服务器's password:
Connected to 服务器.
sftp>
2、文件(夹)上传、下载
1)文件上传,put 文件路径
sftp> cd /usr/local/marcus
sftp> pwd
Remote working directory: /usr/local/marcus
sftp> lpwd
Local working directory: /Users/maben/Downloads
sftp> put ly-facturer.war
Uploading ly-facturer.war to /usr/local/marcus/ly-facturer.war
ly-facturer.war 100% 4828 86.8KB/s 00:00
sftp> ls
ly-facturer.war redis-3.0.6 redis-3.0.6.tar.gz tomcat.keystore
sftp>
其它指令说明:
cd
pwd, 查看服务器当前目录
lpwd,查看本地当前目录
ls,列举服务器当前目录下的文件列表
2)文件下载,get 文件
sftp> get ly-facturer.war ly-facturer2.war
Fetching /usr/local/marcus/ly-facturer.war to ly-facturer2.war
/usr/local/marcus/ly-facturer.war 100% 4828 155.8KB/s 00:00
sftp> lls
NavicatPremium1118.dmg ly-facturer.war navicat12027pre
htdocs ly-facturer2.war
sftp>
其它指令说明:
lls: 列举本地当前目录文件列表,ly-facturer2.war就是刚下载下来的文件。
3)上传文件夹,put -r 文件夹/.
sftp> mkdir htdocs
sftp> put -r htdocs/. htdocs
sftp> cd htdocs
sftp> ls
ly-facturer.war ly-facturer2.war
其它指令说明:
mkdir
4)下载文件夹,get -r 文件夹/
sftp> get -r htdocs/ htdocs2
Fetching /usr/local/marcus/htdocs/ to htdocs2
Retrieving /usr/local/marcus/htdocs
/usr/local/marcus/htdocs/.DS_Store 100% 6148 237.3KB/s 00:00
/usr/local/marcus/htdocs/ly-facturer.war 100% 4828 220.5KB/s 00:00
/usr/local/marcus/htdocs/ly-facturer2.war 100% 4828 211.3KB/s 00:00
sftp> quit
mabendeMacBook-Pro:Downloads maben$
如上所示,将服务器上htdocs目录下载到当前目录的htdocs2目录下。
其它指令:
quit 退出sftp
四、利用Filezilla进行文件上传、下载
一个免费好用的ftp工具,大家去网上下载安装包吧!
方便管理,新建了一个站点,如果通过ssh协议连接的话,请选择ssh,端口号一般是:22,输入主机ip地址
连接成功后,就傻瓜示文件拖动即可!