国家城乡住房建设部网站,什么网站可以查房屋建筑面积,建设网站平台的建议,wordpress与phpcms哪个好ssh基础知识 常用命令登录流程配置文件ssh密钥登录生成密钥上传公钥关闭密码登录 ssh服务管理查看日志ssh端口转发 ssh#xff08;ssh客户端#xff09;是一个用于登录到远程机器并在远程机器上执行命令的程序。 它旨在提供安全的加密通信在不安全的网络上的两个不受信任的主… ssh基础知识 常用命令登录流程配置文件ssh密钥登录生成密钥上传公钥关闭密码登录 ssh服务管理查看日志ssh端口转发 sshssh客户端是一个用于登录到远程机器并在远程机器上执行命令的程序。 它旨在提供安全的加密通信在不安全的网络上的两个不受信任的主机之间。X11连接、任意TCP端口和UNIX域套接字也可以通过安全通道进行转发。 常用命令
ssh userhostname-l用户名也可以使用ssh的-l参数指定这样的话用户名和主机名就不用写在一起了。
ssh -l username host-p指定端口ssh默认端口是22如果需要指定其它端口就需要使用-p 端口号
ssh -p 9022 userhostname登录流程
如果首次连接一台服务器会收到下面这段信息主要显示服务器指纹和MD5并询问是否继续连接
[rootlocalhost ~]# ssh -l root 192.168.33.11
The authenticity of host 192.168.33.11 (192.168.33.11) cant be established.
ECDSA key fingerprint is SHA256:EqwKUqtyrlB8QR82eSreSs542WqvmGWEEPSilKKKI.
ECDSA key fingerprint is MD5:19:1b:c1:4c:1d:61:56:e7:ff:5b:15:41:74:02:be:a4.
Are you sure you want to continue connecting (yes/no)? yes输入yes就可以将当前连接服务器的指纹储存到本机~/.ssh/known_hosts文件中。以后再连接的时候就不会再出现警告了。 然后客户端就会跟服务器建立连接。输入所要登录账户的密码。用户输入并验证密码正确以后就能登录远程服务器的 Shell了。
# 执行远程命令ssh usernamehostname command
# 需要互动式的 Shell 环境ssh -t usernamehostname command配置文件
SSH 客户端的全局配置文件是/etc/ssh/ssh_config用户个人的配置文件在~/.ssh/config优先级高于全局配置文件。 除了配置文件~/.ssh目录还有一些用户个人的密钥文件和其他文件。下面是其中一些常见的文件。
~/.ssh/id_ecdsa用户的 ECDSA 私钥。~/.ssh/id_ecdsa.pub用户的 ECDSA 公钥。~/.ssh/id_rsa用于 SSH 协议版本2 的 RSA 私钥。~/.ssh/id_rsa.pub用于SSH 协议版本2 的 RSA 公钥。~/.ssh/identity用于 SSH 协议版本1 的 RSA 私钥。~/.ssh/identity.pub用于 SSH 协议版本1 的 RSA 公钥。~/.ssh/known_hosts包含 SSH 服务器的公钥指纹。
ssh密钥登录
SSH 密钥登录分为以下的步骤。 预备步骤客户端通过ssh-keygen生成自己的公钥和私钥。 第一步手动将客户端的公钥放入远程服务器的指定位置。 第二步客户端向服务器发起 SSH 登录的请求。 第三步服务器收到用户 SSH 登录的请求发送一些随机数据给用户要求用户证明自己的身份。 第四步客户端收到服务器发来的数据使用私钥对数据进行签名然后再发还给服务器。 第五步服务器收到客户端发来的加密签名后使用对应的公钥解密然后跟原始数据比较。如果一致就允许用户登录。
生成密钥
ssh-keygen-t参数指定密钥的加密算法
ssh-keygen -t dsa-t参数用来指定密钥的加密算法一般会选择 DSA 算法或 RSA 算法。如果省略该参数默认使用 RSA 算法。
上传公钥
方法1
cat ~/.ssh/id_rsa.pub | ssh usernamehostname mkdir -p ~/.ssh cat ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys方法2
ssh-copy-id -i key_file usernamehostname关闭密码登录
vi /etc/ssh/sshd_config对于 OpenSSH具体方法就是打开服务器 sshd 的配置文件/etc/ssh/sshd_config将PasswordAuthentication这一项设为no。
PasswordAuthentication yesssh服务管理
# 启动
systemctl start sshd.service# 停止
systemctl stop sshd.service# 重启
systemctl restart sshd.service查看日志
# 查看服务日志
journalctl -u ssh
# 查看系统日志
tail -f /var/log/auth.log
# 查看登录详细
lastlogssh端口转发
ssh -l proxy -p1022 -qngfNTR 1023:localhost:1022 192.168.10.11 -o ServerAliveInterval10参数详解 -l proxy指定用户proxy推荐默认非root用户 -p1022中转机器A的ssh端口 -qngfNTR静默模式、后台执行ssh指令、不执行远程指令、不要求分配终端、允许远程主机连接主机的转发端口 1023:localhost:1022配置转发端口:本机:本机ssh端口注意本机端口需要在ssh配置文件中添加 192.168.10.11中转机器A的内网IP -o ServerAliveInterval10是让客户端每10s发送一个心跳保持隧道的链接否则这条连接很容易被重置