问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

25条最佳Mac终端SSH命令推荐

创作时间:
作者:
@小白创作中心

25条最佳Mac终端SSH命令推荐

引用
CSDN
9
来源
1.
https://blog.csdn.net/chal_gcn/article/details/7238736
2.
https://book.douban.com/subject/35430569/
3.
https://umatechnology.org/the-5-best-ssh-clients-for-mac/
4.
https://www.heatware.net/macos/terminal-commands-cheat-sheet/
5.
https://www.cnblogs.com/thesungod/p/17612338.html
6.
https://mefmobile.org/10-best-ssh-clients-for-mac/
7.
https://www.geeksforgeeks.org/best-ssh-client-for-mac/
8.
https://www.servermania.com/kb/articles/ssh-mac
9.
https://www.ilounge.com/articles/how-to-ssh-on-a-mac-with-terminal-a-comprehensive-guide

SSH(Secure Shell)是Mac终端中不可或缺的工具,它不仅提供了安全的远程连接方式,还能实现文件传输、端口转发等多种功能。掌握一些常用的SSH命令,可以让你的工作效率大幅提升。以下是经过精选的25条SSH命令,它们涵盖了连接管理、文件传输、安全设置等多个方面。

01

连接管理类

1. 无密码登录设置

使用ssh-copy-id可以将本地SSH密钥复制到远程主机,实现免密码登录。

ssh-copy-id user@host

2. 创建持久连接

通过ControlMasterControlPath选项,可以创建持久的SSH连接,避免频繁创建新连接。

ssh -MNf user@host

3. 通过中间主机连接

当目标主机无法直接访问时,可以通过中间主机进行跳板连接。

ssh -t reachable_host ssh unreachable_host

4. 端口转发

将本地端口转发到远程主机的指定端口,常用于访问内网服务。

ssh -N -L2001:localhost:80 somemachine
02

文件传输类

5. 远程文件比较

通过SSH管道传输远程文件内容,与本地文件进行比较。

ssh user@host cat /path/to/remotefile | diff /path/to/localfile -

6. 远程文件系统挂载

使用sshfs可以将远程目录挂载到本地,像操作本地文件一样操作远程文件。

sshfs name@server:/path/to/folder /path/to/mount/point

7. 主机间文件复制

通过SSH管道实现两台远程主机之间的文件复制。

ssh root@host1 "cd /somedir/tocopy/ && tar -cf - ." | ssh root@host2 "cd /samedir/tocopyto/ && tar -xf -"

8. 远程文件编辑

通过SSH直接在本地编辑远程文件。

ssh user@host "cat /path/to/remotefile" > localfile
# 编辑完成后
ssh user@host "cat > /path/to/remotefile" < localfile
03

安全设置类

9. 修改SSH默认端口

为了增加安全性,可以修改SSH服务的默认端口。

# 在远程服务器上编辑sshd_config文件
ssh user@host "sudo sed -i 's/#Port 22/Port 2222/g' /etc/ssh/sshd_config"
# 重启SSH服务
ssh user@host "sudo service ssh restart"

10. 禁用root远程登录

为了防止暴力破解,建议禁用root用户的远程登录。

# 在远程服务器上编辑sshd_config文件
ssh user@host "sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin no/g' /etc/ssh/sshd_config"
# 重启SSH服务
ssh user@host "sudo service ssh restart"

11. 启用公钥认证

使用公钥认证可以提高SSH连接的安全性。

# 生成密钥对
ssh-keygen -t rsa
# 将公钥复制到远程主机
ssh-copy-id user@host
04

高级应用类

12. 远程命令执行

直接在本地执行远程主机上的命令。

ssh user@host "command"

13. 远程桌面连接

通过SSH隧道建立VNC连接,实现远程桌面访问。

ssh -L5901:localhost:5901 user@host
# 在另一终端运行vncviewer
vncviewer localhost:1

14. 声音传输

将本地麦克风输入传输到远程主机的扬声器输出。

dd if=/dev/dsp | ssh -c arcfour -C username@host dd of=/dev/dsp

15. 远程GUI程序运行

通过SSH转发X11连接,运行远程主机上的GUI程序。

ssh -fX user@host program

16. 会话管理

使用screentmux进行SSH会话管理,支持多窗口和断线重连。

ssh -t user@host screen -r

17. 端口敲击(Port Knocking)

通过特定的端口敲击序列,动态开启SSH端口,增加安全性。

knock <host> 3000 4000 5000 && ssh -p <port> user@host && knock <host> 5000 4000 3000

18. 文件同步

使用rsync通过SSH进行高效文件同步。

rsync -avz -e ssh user@host:/path/to/source /path/to/destination

19. 远程命令定时执行

通过SSH定时执行远程主机上的命令。

ssh user@host "at now + 1 minute <<< 'command'"

20. 远程日志查看

实时查看远程主机上的日志文件。

ssh user@host "tail -f /var/log/syslog"

21. 远程系统监控

通过SSH获取远程主机的系统状态信息。

ssh user@host "top -b -n 1"

22. 远程服务管理

通过SSH远程启动或停止服务。

ssh user@host "sudo service <service_name> <start|stop>"

23. 远程系统更新

通过SSH远程执行系统更新命令。

ssh user@host "sudo apt-get update && sudo apt-get upgrade"

24. 远程用户管理

通过SSH远程添加或删除用户。

ssh user@host "sudo useradd <new_user>"
ssh user@host "sudo userdel <user_to_delete>"

25. 远程系统重启

通过SSH远程重启系统。

ssh user@host "sudo reboot"
05

SSH使用建议

  1. 使用SSH密钥认证:相比密码认证,密钥认证更安全,也更方便。
  2. 定期更新SSH密钥:为防止密钥泄露,建议定期更新SSH密钥。
  3. 限制SSH访问:通过防火墙规则限制SSH访问来源,只允许信任的IP地址访问。
  4. 使用SSH隧道:对于敏感操作,建议使用SSH隧道保护数据传输。
  5. 监控SSH登录:定期检查SSH登录日志,及时发现异常登录尝试。

掌握这些SSH命令和最佳实践,可以让你在使用Mac终端时更加得心应手,无论是日常的远程服务器管理,还是复杂的网络操作,都能游刃有余。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号