一、使用 key 进行 SSH 登录
在Linux中,使用SSH登录时可以通过密钥进行身份验证,而不是输入密码。
生成密钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
将公钥复制到服务器上:
ssh-copy-id your_username@remote_host
之后,可以通过以下命令登录:
ssh your_username@remote_host
二、Linux SSHD配置
在Linux中使用SSH,需要安装openssh-server和openssh-client软件包。
修改SSHD配置文件:
sudo nano /etc/ssh/sshd_config
可以修改端口号、允许的登录用户、密码认证方式等等。
修改保存之后,需要重启SSH服务:
sudo systemctl restart sshd.service
三、Linux SSH命令详解
Linux中使用SSH命令可以快速执行远程操作,例如上传下载文件,编辑文件等等。
1.文件传输
将本地文件上传至远程:
scp local_file remote_username@remote_ip:remote_folder
将远程文件下载至本地:
scp remote_username@remote_ip:remote_file local_folder
2.编辑远程文件
使用ssh命令连接到远程服务器,然后使用vi编辑器编辑文件:
ssh remote_username@remote_ip
sudo vi file_to_edit
3.执行远程命令
使用ssh命令执行远程命令:
ssh remote_username@remote_ip "command_to_execute"
四、Linux SSH常用命令用法
1.查看当前SSH连接
who
2.强制关闭SSH连接
可以通过以下命令强制关闭当前SSH会话:
killall -u username sshd
3.设置SSH会话超时时间
如果一段时间没有活动,SSH会自动关闭连接。可以通过以下命令修改SSH会话超时时间:
echo "ClientAliveInterval 120" | sudo tee -a /etc/ssh/sshd_config
其中120表示多少秒没有活动之后断开连接。
4.通过SSH隧道访问远程服务
可以通过SSH隧道来访问远程的服务,例如MySQL数据库。
首先在本地启动端口转发:
ssh -L 3306:localhost:3306 remote_username@remote_ip
然后可以在本地用localhost连接到远程MySQL服务。
5.设置SSH代理
可以通过SSH代理来访问被限制的网络资源。
首先在本地启动代理:
ssh -D 1080 remote_username@remote_ip
然后在浏览器中设置代理:
代理服务器地址:localhost,端口:1080。
这样就可以在浏览器中访问被限制的网站了。