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高级用法,供参考