SSH入门用法
服务器(当前为Ubuntu)
sudo apt-get install openssh-server
,会自动运行并开机启动。如果没有则sudo service ssh start
- 配置文件:
sudo vi /etc/ssh/sshd_config
,其中默认端口Port 22
,更多可用Webmin可视化配置。 - 需要注意,可能会存在长时间无操作自动断线的问题。可在服务器配置中添加
ClientAliveInterval 300
和ClientAliveCountMax 5
或者在客户端配置文件ssh_config
添加ServerAliveInterval 300
和ServerAliveCountMax 5
两项,意为每300秒发送一次Alive
信号保持连接,如果由于网络问题,对方未响应会在5次后断开。不过类似Xshell这种SSH客户端可能不存在此问题。
客户端
shell
- 可终端使用
ssh user@ip
或其他工具如Xshell
进行远程登陆。 - 免密码登陆
- 使用
ssh-keygen
生成密钥,默认保存在~/.ssh/
目录,id_rsa
为私钥(注意保密),id_rsa.pub
为公钥。 ssh-copy-id user@ip
将公钥拷进服务器的~/.ssh/authorized_keys
或手动添加cat id_rsa.pub >> ~/.ssh/authorized_keys
- 使用
- 更简洁登陆
可添加如下内容至~/.ssh/config
,然后可使用ssh hpc
连接。如果日常使用较多可在~/.zshrc(~/.bashrc)
中设置别名alias s='ssh hpc'
,可通过s
快速登陆。 例如我当前的~/.ssh/config1
2
3
4Host hpc
HostName 202.4.4.4
Port 22
User zz_zigzag - 调试:可使用
ssh -v user@ip
查看登陆详细过程,方便登陆失败时找原因。
sftp
ssh内置sftp服务,可使用scp
或sftp
命令交互文件,或者使用FileZilla
等工具进行可视化操作。
之后写过SSH高级用法,供参考