SSH(缩写为“Secure Shell”或“Secure Socket Shell”)是一种网络协定,用于经过不安保的网络安保地访问网络服务。它包括成功SSH的一套适用工具,例如:
自动状况下, SSH主机在规范传输控制协定(TCP) 端口22上监听衔接。但也可以自定义其余端口, 但要留意防止端口抵触的疑问。
SSH可以安保地治理远程系统和运行程序,例如经过网络登录到另一台计算机、口头命令以及将文件从一台计算机移动到另一台计算机。初级SSH性能是创立安保隧道以远程运转其余运行程序协定。
以下是整顿的SSH命令清单:
命令 |
性能形容 |
衔接到远程主机 |
|
ssh pi@raspberry |
raspberry以用户身份pi经过自动 SSH 端口 22衔接到设施 |
ssh pi@raspberry -p 3344 |
raspberry以用户身份pi经过3344端口衔接到设施 |
ssh -i /path/file.pem admin@192.168.1.1 |
以root用户身份经过密钥文件/path/file.pemadmin衔接192.168.1.1 |
ssh root@192.168.2.2 'ls -l' |
以root用户身份衔接192.168.2.2并口头远程命令ls -l |
$ ssh user@192.168.3.3 bash < script.sh |
调用上班目录中的脚本script.sh,以user用户身份衔接192.168.3.3 |
ssh friend@Best.local "tar cvzf - ~/ffmpeg" > output.tgz |
以friend用户身份登录远程主机Best.local, 并在远程主机上对 ~/ffmpeg 目录启动紧缩,并将紧缩后的结果传输到本地主机上的 output.tgz 文件 |
ssh-keygen |
生成SSH密钥 |
ssh-keygen -F [ip/hostname] |
从~/.ssh/known_hosts文件(已登录的主机)中搜查某个IP地址或主机名 |
ssh-keygen -R [ip/hostname] |
从~/.ssh/known_hosts文件(已登录的主机)中删除某个IP地址或主机名 |
ssh-keygen -f ~/.ssh/filename |
指定文件名 |
ssh-keygen -y -f private.key > public.pub |
从私钥生成公钥 |
ssh-keygen -c -f ~/.ssh/id_rsa |
更改密钥文件~/.ssh/id_rsa`的注释 |
ssh-keygen -p -f ~/.ssh/id_rsa |
更改私钥~/.ssh/id_rsa`的明码 |
ssh-keygen -t rsa -b 4096 -C "my@email.com" |
生成一个带有注释 "my@email.com" 的RSA 4096位密钥:-t:密钥类型 ( rsa, ed25519, dsa, ecdsa) -b:密钥中的位数 -C:提供新注释 |
在主机之间安保地复制文件 |
|
scp user@server:/folder/file.ext dest/ |
从远程复制到本地目的地dest/ |
scp dest/file.ext user@server:/folder |
从本地复制到远程 |
scp user1@server1:/file.ext user2@server2:/folder |
在两个不同主机之间复制 |
scp user@server:/folder/* . |
从主机文件夹复制到本地计算机上的文件夹 |
递归复制整个目录 |
|
scp -r user@server:/folder dest/ |
将整个文件夹复制到本地目的地dest/ |
scp user@server:/folder/* dest/ |
将文件夹中的一切文件复制到本地指标dest/ |
紧缩数据的选项 |
|
打印具体消息的选项 |
|
保管传输文件的最后修正时期戳的选项 |
|
衔接到远程主机端口 8080 的选项 |
|
批处置形式选项并阻止输入明码串 |
|
在主机之间安保地传输文件 |
|
保管传输文件的最后修正时期戳的选项 |
|
sftp -P 8080 |
衔接到远程主机端口8080 |
上行和下载时递归复制整个目录。SFTP不跟踪树遍历中遇到的符号链接。 |
以下命令记载了SSH如何在不同机器上记载登录凭据:
命令 |
性能形容 |
man ssh_config |
关上OpenSSH SSH 客户端性能文件。本手册列出了可以更改的一切OpenSSH参数。 |
cat /etc/ssh/ssh_config | less |
检查OpenSSH 客户端系统范围的性能文件 |
cat /etc/ssh/sshd_config | less |
检查OpenSSH主机系统范围的性能文件;“d”代表主机“守护进程” |
cat ~/.ssh/config | less |
检查SSH客户端用户特定的性能文件 |
cat ~/.ssh/id_{type} | less |
检查SSH客户端私钥;type是 中的任何一个rsa, ed25519, dsa, ecdsa |
cat ~/.ssh/id_{type}.pub | less |
检查SSH客户端公钥;type是 中的任何一个rsa, ed25519, dsa, ecdsa |
cat ~/.ssh/known_hosts | less |
检查SSH客户端登录的主机 |
cat ~/.ssh/authorized_keys | less |
检查SSH客户端授权登录密钥 |
保管用于公钥身份验证的私有 SSH 密钥(RSA、DSA、ECDSA、Ed25519) |
|
ssh-agent -E fingerprint_hash |
指定显示密钥指纹时经常使用的哈希算法。有效fingerprint_hash选项是sha256(自动)和md5 |
ssh-agent -t lifetime |
设置lifetime身份/私钥的最大值,可由 中的相反设置笼罩ssh-add。生命周期示例:• 600= 600 秒(10 分钟) • 23m= 23 分钟 • 1h45= 1 小时 45 分钟 |
将 SSH 密钥减少到ssh-agent |
|
列出缓存的私钥ssh-agent |
|
ssh-add -t lifetime |
设置lifetime身份/私钥的最大值。示例lifetime:• 600= 600 秒(10 分钟) • 23m= 23 分钟 • 1h45= 1 小时 45 分钟 |
列出一切已保管身份的公钥参数 |
|
删除一切缓存的私钥 |
|
ssh-copy-id |
在远程主机上复制、装置和性能SSH密钥 |
ssh-copy-id user@server |
将SSH密钥复制到 aserver作为user |
ssh-copy-id server1 |
server1经常使用自动登录名复制到某一般名主机 |
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server |
将特定密钥复制到主机上作为一个用户 |
SSH主机的操作系统大多是Unix/Linux,因此经过SSH登录主机后,以下命令与Unix/Linux中的命令基本相反。
命令 |
性能形容 |
更改上班目录 |
|
中止正在运转的进程 |
|
列出文件和目录 |
|
创立一个新目录 |
|
移动文件或目录 |
|
经常使用 Nano 在终端中编辑文件 |
|
列出正在运转的进程 |
|
显示上班目录 |
|
检查文件的最后几行(默以为 10 行) |
|
监控系统资源和进程 |
|
创立新文件或降级现有文件的时期戳 |
|
经常使用 Vim 在终端中编辑文件 |
|
封锁 SSH 会话 |
以下是在Windows10上经常使用PowerShell经过SSH访问网络计算机上的账户:
在下表中,列出了一些可以协助成功网络治理义务的复杂SSH适用程序, 包括: SSH文件系统(SSHFS)、数据紧缩和X11转发。
要经过SSH启动X11转发, 须要口头三个步骤:
(1) 要成功X11转发,在性能文件~/.ssh/config性能以下参数:
ForwardAgent yes
ForwardX11 yes
(2) 要准许X11口头, 在性能文件:/etc/ssh/sshd_config中性能以下参数:
(3) 在主机中装置xauth,设置X11身份验证。
命令 |
性能形容 |
将远程主机的文件系统挂载到本地目录上。在经常使用前将此程序装置。装置命令示例: • sudo apt install sshfs # Ubuntu/Debian • sudo yum install fuse-sshfs # CentOS |
|
ssh -C hostname |
紧缩SSH流量以提高慢速衔接的性能。或许,插中选项Compression yes到SSH性能文件中 |
ssh -o "Compression yes" -v hostname |
另一种紧缩SSH流量以提高慢速衔接性能的方法。这与拔出性能选项Compression yes到SSH性能文件中的方法相反。 |
ssh -X user@server |
经过SSH启用X11转发: 以user用户身份将图形运行程序从远程server转发到本地 |
ssh -o ForwardX11=yes user@server |
经过SSH启用X11转发: 以user用户身份将图形运行程序从远程server转发到本地 |
禁用X11转发 |
|
启用可信X11转发。此选项比ssh -X将SSH 主机的整个显示转发到客户端的危险更大 |
经常使用上方的SSH命令创立安保隧道:
选项 |
性能形容 |
语法/示例 |
将本地主机的某个端口转发到远程主机, 成功从本地主机到远程主机的衔接。本地主机充任服务中继, SSH将流量经过衔接转发到远程主机上的指定端口 |
命令语法:# ssh user@ssh_server -L local_port:destination:remote_port 示例: # ssh root@192.168.0.1 -L 2222:10.0.1.5:3333 |
|
成功经过跳转主机衔接指标主机。该参数是在衔接到指标主机之前,先经过跳板主机树立衔接,而后再跳转到指标主机上 |
示例1:# ssh -J proxy_host1 remote_host 示例2:# ssh -J user@proxy_host1 user@remote_host2 示例3(多个堡垒主机跳转): # ssh -J user@proxy_host1:port1,user@proxy_host2:port2 user@remote_host3 |
|
该参数成功反向端口转发, 它准许远程主机将其某个端口转发到本地主机, 成功从远程主机到本地主机的衔接。本地主机此时充任服务中继,远程主机将流量经过SSH衔接转发到本地主机上的指定端口。其中: -N参数示意不口头远程命令, 关于公用端口转发很有用。-f参数示意在后盾运转SSH |
语法: ssh -R [remote:]remote_port:destination:destination_port [user@]ssh_serve 例子: # ssh -R 8080:192.168.3.8:3030 -N -f user@remote.host |
|
在本地主机上创立一个SOCK5代理主机, 使得经过该代理的流量都经过SSH衔接到远程主机。本地主机上的指定端口将作为SOCK5代理端口, 可以性能阅读器或其余运行程序来经常使用该代理。流量将经过SSH衔接到远程主机, 而后由远程主机收回 |
语法: # ssh -D local_port_number user@remote_host 例子: # ssh -D 6677 -q -C -N -f me@192.168.5.5 |
上方总结了SSH、SCP、SFTP、SSH性能命令以及各种SSH隧道命令。以下是一些更高效、更安保的经常使用SSH的一些倡导:
(1) 禁用X11和TCP转发, 攻打者可以应用此类弱点访问网络上的其余系统。将sshd_config中的选项调整如下:
(2) 更改sshd_config中的自动性能选项, 将自动端口22改成其它数字。
(3) 经常使用ssh-keygen创立SSH证书并对客户端启出发份验证。
(4) 应用隧道命令经常使用堡垒主机。
(5) 限度SSH登录到特定的IP地址,例如经过在sshd_config中经常使用AllowUsers选项减少用户过滤。
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/6457.html