25个必须记住的SSH命令,你用过了吗?
原创25个必须记住的SSH命令
在Linux系统中,SSH(Secure Shell)是一种稳固协议,用于在网络上进行稳固的远程登录和管理。掌握一些基本的SSH命令对于系统管理员来说至关重要。以下是一些必须记住的SSH命令,它们在日常的Linux系统管理中常常使用。
1. ssh
SSH命令是所有其他SSH相关命令的基础,用于连接到远程服务器。
ssh user@host
2. ssh-keygen
用于生成SSH密钥对,包括公钥和私钥。
ssh-keygen -t rsa -b 4096
3. ssh-copy-id
将公钥复制到远程服务器的~/.ssh/authorized_keys文件中,以实现无密码登录。
ssh-copy-id user@host
4. ssh-agent
用于管理SSH密钥,避免在命令行中输入密码。
ssh-agent bash
ssh-add ~/.ssh/id_rsa
5. ssh -X
允许X11转发,可以在本地运行图形界面程序。
ssh -X user@host
6. ssh -N
用于无操作连接,即不执行任何命令,但保持连接状态。
ssh -N -f -L local_port:localhost:remote_port user@host
7. ssh -L
用于本地端口转发,将本地端口映射到远程服务器。
ssh -L local_port:localhost:remote_port user@host
8. ssh -R
用于远程端口转发,将远程端口映射到本地。
ssh -R remote_port:localhost:local_port user@host
9. ssh -D
用于SOCKS代理,可以在SSH连接中设置代理。
ssh -D socks_port user@host
10. ssh -o
用于设置SSH选项,如连接超时、压缩等。
ssh -o ConnectTimeout=10 user@host
11. ssh -T
用于测试SSH连接,但不登录。
ssh -T user@host
12. sshpass
用于自动输入密码,适用于需要密码认证的SSH连接。
sshpass -p 'password' ssh user@host
13. scp
用于在本地主机和远程主机之间复制文件。
scp local_file user@host:/remote_path
14. sftp
用于通过SFTP协议在本地主机和远程主机之间传输文件。
sftp user@host
15. sshfs
用于将远程文件系统挂载到本地文件系统。
sshfs user@host:/remote_path /local_path
16. ssh config
用于配置SSH连接的配置文件,通常位于~/.ssh/config。
Host myserver
HostName myserver.example.com
User myuser
Port 2222
17. ssh -i
用于指定私钥文件进行SSH连接。
ssh -i ~/.ssh/id_rsa user@host
18. ssh -f
用于将SSH连接放入后台运行。
ssh -f user@host
19. ssh -n
用于关闭pseudo-tty,避免交互式会话。
ssh -n user@host
20. ssh -S
用于指定SSH连接的SOCKS代理。
ssh -S socks5://localhost:1080 user@host
21. ssh -v
用于显示SSH连接过程中的详细信息。
ssh -v user@host
22. ssh -N -q -T
用于无操作、静默模式和测试SSH连接。
ssh -N -q -T user@host
23. ssh -o BatchMode=yes
用于禁用交互式认证,适用于自动化脚本。
ssh -o BatchMode=yes user@host
24. ssh -o StrictHostKeyChecking=no
用于避免在首次连接时询问是否接受主机密钥。
ssh -