SSH使用小技巧
版本提示 这篇文章最近一次更新距离现在已经超过一年了,内容可能已经过时,请谨慎参考。
更改 root 密码
将
password更改为所需的密码
-
修改密码
代码块收起展开
echo root:`password` |sudo chpasswd root -
开启 root 登录
代码块收起展开
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config; -
开启密码登录
代码块收起展开
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config; -
重启 ssh 服务
代码块收起展开
systemctl restart sshd.service
配置使用密钥登录
-
生成密钥和公钥,请执行以下命令:
代码块收起展开
ssh-keygen -t rsa -b 4096连续执行回车即可生成密钥和公钥对。如果需要设置密码,请在密码提示处输入密码。
-
安装 ssh 公钥
代码块收起展开
cp "$HOME/.ssh/id_rsa.pub" "$HOME/.ssh/authorized_keys" -
设置公钥权限
代码块收起展开
chmod 600 "$HOME/.ssh/authorized_keys" chmod 700 "$HOME/.ssh" -
ssh 配置文件
-
开启密钥登录
代码块收起展开
sudo sed -i 's/^#\?PubkeyAuthentication.*/PubkeyAuthentication yes/g' /etc/ssh/sshd_config -
关闭密码登录
代码块收起展开
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/g' /etc/ssh/sshd_config
-
-
重启 sshd 服务
代码块收起展开
systemctl restart sshd.service
ssh 登录后闲置时间过长而断开连接
代码块收起展开
echo "ServerAliveInterval 60" >> "$HOME/.ssh/config"ssh 客户端会每隔一段 60s,自动与 ssh 服务器通信一次
存放 ssh 密钥密码
启动ssh-agent
Linux
代码块收起展开
ssh-agent bashWindows
- 打开服务
- 将
OpenSSH Authentication Agent服务启动 - 设置自启动
添加默认的私钥
代码块收起展开
ssh-add添加私钥时,会要求输入密码。以后,在这个对话里面再使用密钥时,就不需要输入私钥的密码了,因为私钥已经加载到内存里面了。
使用命令将本地公钥发送给服务端
代码块收起展开
ssh-copy-id username@hostname