SSH连接方法和注意事项
1.前言:
1.1ssh命令行登录书写样式
ssh user@host:port
port默认22端口时不用加端口号
1.2不建议使用root+密码方式登录的原因
很多人的教程都是在vps上直接开启root+密码的登录权限,这样一旦密码在别的站点上被泄露过被别有用心的人添加到字典里面去,就很危险,我也是通过运行
journalctl -u ssh
这个命令,查看ssh登录日志,看到好多好多登录尝试的记录才害怕的。
这个命令的常用参数如下:
#从昨天到现在的记录
journalctl -u ssh --since yesterday
# 三天前到2天的
journalctl -u ssh --since -3d --until -2d # logs from three days ago
#最近一小时的
journalctl -u ssh --since -1h # logs from the last hour
#截止到某一时间段的
journalctl -u ssh --until "2023-12-15 07:00:00"
2.用户加私钥的方式登录
2.1在创建vps的时候按提示下载好自己的私钥key到本地保存,一般是.ppk/.pem/.key这几种文件格式,但我建议用.pem的,通用性好,后期偷懒方便些。如果不是.pem扩展名,在Ubuntu22.04下这样转化就好:
# 更新镜像源
sudo apt update
#安装putty
sudo apt install putty -y
#使用putty带的工具puttygen转换文件格式,以.ppk.转成pem为例
#先确认key文件已在/root/sshkey/p-key.ppk
#进入key所在目录
sudo cd /root/sshkey
#转换
puttygen /root/sshkey/p-key.ppk -O private-openssh -o /root/sshkey/p-key.pem
#给新生成的文件赋权
sudo chown 600 /root/sshkey/p-key.pem
#ssh登录命令行,user:登录用户名,可以是root,可以是ubuntu等登录用户名,host:服务器地址,注意cloudflare解析的不能有黄色小云朵,port:若没有变更过默认端口22,该参数不用专门写。
#ssh 使用私钥登录服务器的命令行样式:
#ssh -i /root/sshkey/p-key.pem user@host:port
2.2好多地方都需要ssh秘钥登录,管理是个问题,怎么办?
私钥对应的是公钥,很多地方的翻译叫做秘钥对,就是一对。也就是说,只要公钥一致,私钥就可以不用动。也就是保存1套即可。
2.2.1创建自己的秘钥对
#ubuntu22.04下
#创建一个放秘钥对的文件夹,并进入
mkdir /root/gsshkey
cd /root/gsshkey
#在当前目录下生成秘钥对
ssh-keygen -t rsa -b 2048
#目录下可以找到:id_rsa(私钥)和id_rsa.pub(公钥),这里私钥默认就是.pem格式的,无需转换,保存好公钥和私钥,能上传公钥的就把公钥上传上去,上传不了的,就修改vps的公钥即可。
2.2.2修改公钥
#查看公钥内容,或者nodepad++直接打开文件
cat id_rsa
很多地方创建vps时是支持上传公钥的,不支持的可以登录进去之后修改:
#首先root 权限vps
#修改公钥
vim /root/.ssh/authorized_keys
#按dd,一致到内容清空,按i进入编辑状态,输入或鼠标右键粘贴方式把公钥内容搞进去,按Esc,输入 :wq,回车。
3、愉快的使用自己的私钥登陆吧~~~
这里只介绍了命令行的登陆方法。win下还可以用putty、finallShell等工具登陆。方法自己测试即可~