SSH 免密登录
Linux
- 生成公钥私钥
ssh-keygen
- 复制公钥到服务器
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.150.148
非roor用户可能会报错:参考 login - Unable to use ssh-copy-id - mktemp: failed to create file via template - Unix & Linux Stack Exchange
或者直接修改 /root/.ssh/authorized_keys
文件, 将 id_rsa.pub
文件内容手动复制到 authorized_keys
中
- 测试登录
ssh root@192.168.150.148 -p 22
Windows
- 生成公钥私钥
ssh-keygen
- 复制公钥到服务器
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh root@192.168.150.148 "cat >> .ssh/authorized_keys"
或者直接修改 /root/.ssh/authorized_keys
文件, 将 id_rsa.pub
文件内容手动复制到 authorized_keys
中
- 测试登录
ssh root@192.168.150.148 -p 22
SSH 配置代理
场景:使用 ssh 连接国外服务器时,配置 ssh 走代理
使用 nmap 配置 ssh 代理
nmap:https://nmap.org/download.html#windows
配置文件 .ssh/config
Host koko
HostName 10.10.10.10 // 服务器公网 IP
User koko
Port 22
IdentityFile "C:\Users\29434\.ssh\id_rsa" // 免密
ProxyCommand "D:\nmap\ncat" --proxy-type socks5 --proxy 127.0.0.1:7890 %h %p // 代理
保持会话
客户端配置
添加配置文件 .ssh/config
Host *
ServerAliveInterval 20
TCPKeepAlive no
- Host:指定配置适用于哪些主机,
*
表示所有主机 - ServerAliveInterval:多久未收到服务器数据后发送保活消息(秒)。默认 0,表示不发送
- ServerAliveCountMax:在无响应情况下最多发送多少次保活消息,超过则断开连接。默认 3
服务端配置
修改配置文件:/etc/ssh/sshd_config
TCPKeepAlive yes
ClientAliveInterval 300
ClientAliveCountMax 30
- TCPKeepAlive:是否向客户端发送 TCP keepalive 消息。
- ClientAliveInterval:SSH 服务器多长时间无客户端数据后发送保活消息,默认 0,表示不发送
- ClientAliveCountMax:SSH 服务器在未收到响应时最多发送多少次保活消息,超过则断开连接
参考
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。