最全SSH命令 - 11种用法

简介: 最全SSH命令 - 11种用法

1.使用ssh连接远程主机


最简单的用法只需要指定用户名和主机名参数即可,主机名可以是 IP 地址或者域名。


$ ssh user@hostname


2.ssh连接到其他端口


SSH 默认连接到目标主机的 22 端口上,可以使用-p选项指定端口号


$ ssh -p 10022 user@hostname


3.使用ssh在远程主机执行一条命令并显示到本地, 然后继续本地工作


直接连接并在后面加上要执行的命令就可以了


$ ssh pi@10.42.0.47 ls -l


4.在远程主机运行一个图形界面的程序


使用ssh的-X选项,然后主机就会开启 X11 转发功能


$ ssh -X feiyu@222.24.51.147


5.如何配置 SSH


SSH 的配置文件在 /etc/ssh/sshd_config 中,你可以看到端口号, 空闲超时时间等配置项。


6.构建 ssh 密钥对


使用 ssh-keygen -t +算法 ,现在大多数都使用rsa或者dsa算法。


$ ssh-keygen -t rsa


7.查看是否已经添加了对应主机的密钥


使用-F选项


$ ssh-keygen -F 222.24.51.147


8.删除主机密钥


使用-R选项,也可以在~/.ssh/known_hosts文件中手动删除


$ ssh-keygen -R 222.24.51.147


9.绑定源地址


如果你的客户端有多于两个以上的 IP 地址,你就不可能分得清楚在使用哪一个 IP 连接到 SSH 服务器。为了解决这种情况,我们可以使用 -b 选项来指定一个IP 地址。这个 IP 将会被使用做建立连接的源地址。


$ ssh -b 192.168.0.200  root@192.168.0.103


10.对所有数据请求压缩


使用 -C 选项,所有通过 SSH 发送或接收的数据将会被压缩,并且任然是加密的。


$ ssh -C root@192.168.0.103


11.打开调试模式


因为某些原因,我们想要追踪调试我们建立的 SSH 连接情况。SSH 提供的 -v 选项参数正是为此而设的。其可以看到在哪个环节出了问题。


$ ssh -v root@192.168.0.103


附:“/etc/ssh/sshd_config配置文件详细说明”


Port 2
“Port”设置sshd监听的端口号。
ListenAddress 192.168.1.1
“ListenAddress”设置sshd服务器绑定的IP地址。
HostKey /etc/ssh/ssh_host_key
“HostKey”设置包含计算机私人密匙的文件。
ServerKeyBits 1024
“ServerKeyBits”定义服务器密匙的位数。
LoginGraceTime 600
“LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。
ClientAliveInterval 300(默认为0)
这个参数的是意思是每5分钟,服务器向客户端发一个消息,用于保持连接
KeyRegenerationInterval 3600
“KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。
PermitRootLogin no
“PermitRootLogin”设置root能不能用ssh登录。这个选项一定不要设成“yes”。
IgnoreRhosts yes
“IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。
IgnoreUserKnownHosts yes
“IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的“$HOME/.ssh/known_hosts”
StrictModes yes
“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。
X11Forwarding no
“X11Forwarding”设置是否允许X11转发。
PrintMotd yes
“PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。
SyslogFacility AUTH
“SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility pre”。
LogLevel INFO
“LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。
RhostsAuthentication no
“RhostsAuthentication”设置只用rhosts或“/etc/hosts.equiv”进行安全验证是否已经足够了。
RhostsRSAAuthentication no
“RhostsRSA”设置是否允许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证。
RSAAuthentication yes
“RSAAuthentication”设置是否允许只有RSA安全验证。
PasswordAuthentication yes
“PasswordAuthentication”设置是否允许口令验证。
PermitEmptyPasswords no
“PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。


相关文章
|
3月前
|
Linux 网络安全
Linux命令(124)之ssh
Linux命令(124)之ssh
33 2
|
1月前
|
安全 Shell Linux
【Shell 命令集合 文件管理】Linux ssh 远程主机之间复制文件 scp 命令使用教程
【Shell 命令集合 文件管理】Linux ssh 远程主机之间复制文件 scp 命令使用教程
36 0
|
5月前
|
Cloud Native 网络安全 Go
SSH连接服务器后执行多条命令
SSH连接服务器后执行多条命令
|
9月前
|
网络安全 Go Cloud Native
【小技巧】SSH连接服务器后如何默认执行多条命令?
大家平时有没有遇到自己连接云服务器,ssh 连接上去之后,发现自己的一些小工具用不了 例如go build无法使用 ,由于我们安装配置golang 环境的时候
124 0
【小技巧】SSH连接服务器后如何默认执行多条命令?
|
9月前
|
网络安全 Go Cloud Native
SSH连接服务器后执行多条命令 |Go主题月
大家平时有没有遇到自己连接云服务器,ssh 连接上去之后,发现自己的一些小工具用不了 例如go build无法使用 ,由于我们安装配置golang 环境的时候,是在文件/etc/profile中写了配置,因此需要source 一下/etc/profile
119 0
SSH连接服务器后执行多条命令 |Go主题月
|
10月前
|
Shell 网络安全 Perl
Expect实现SSH免交互执行命令
Expect实现SSH免交互执行命令
107 1
|
11月前
|
机器学习/深度学习 域名解析 安全
【SSH】解决使用SSH命令远程连接Linux服务器加载访问慢,连接超时断开等问题
【SSH】解决使用SSH命令远程连接Linux服务器加载访问慢,连接超时断开等问题
331 0
|
11月前
|
网络安全 数据库 数据安全/隐私保护
Expect远程ssh登录主机执行命令
Expect是一个命令行工具,它可以自动化交互式任务(如SSH登录、FTP传输等)。 Expect通过模拟用户输入,识别应用程序输出,实现自动化交互式任务的自动化。
374 0
|
网络协议 Ubuntu 安全
网络-Telnet协议与SSH协议(命令、免密登录)及其安全性
网络-Telnet协议与SSH协议(命令、免密登录)及其安全性
467 0
网络-Telnet协议与SSH协议(命令、免密登录)及其安全性
|
应用服务中间件 Linux Shell
06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本
NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本
195 0
06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本