精华内容
下载资源
问答
  • sh 登陆端口
    万次阅读
    2020-08-20 20:09:26

    ssh 是一个非常常用的工具,通常用来登录到远程主机上,不过 ssh 不仅仅只能用来登录,还能执行远程命令,或者进行多种的端口转发

    基本使用

    登录到远程主机

    $ ssh <user>@<remote-ip>
    

    ssh 默认连接的端口是 22,如果 ssh server 监听的其他端口的话
    那么可以使用 -p <port>来指定端口

    如果使用本地当前用户名登录的话,也可以省略 <user>@,只需要 <remote-ip>即可

    如何查看 ssh server 监听的地址

    # 远程主机上
    $ netstat -tlnp | grep sshd
    

    如何免密登录

    使用 ssh 登录时,通常会需要输入密码,总会感觉不是很安全,比如让别人协助登录到主机上,就需要把密码告诉他
    如果使用公钥认证的话,就只需要登录人提供一下公钥,而不需要告诉他密码了

    查看 ssh server 是否支持公钥认证

    # 远程主机中
    $ cat /etc/ssh/sshd_config | grep Pub
    #PubkeyAuthentication yes
    

    默认为开启公钥认证,如果为 no 的话就需要修改为 yes,然后重启 ssh server

    查看一下本地主机 ~/.ssh 目录下是否存在 rsa 秘钥(id_rsa.pubid_rsa
    没有的话使用 ssh-keygen 生成秘钥,询问输入回车就行

    [iceber@localhost ~]$ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/iceber/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/iceber/.ssh/id_rsa.
    Your public key has been saved in /home/iceber/.ssh/id_rsa.pub.
    The key fingerprint is:
    e7:af:48:91:e7:61:c4:0b:c2:11:74:0d:1f:56:61:13 iceber@localhost.localdomain
    The key's randomart image is:
    +--[ RSA 2048]----+
    |     .+.ooo.Eo   |
    |     . o +.o .   |
    |      o . +      |
    |       . + .     |
    |        S *      |
    |         B .     |
    |        . o      |
    |       . . .     |
    |        . ...    |
    +-----------------+
    

    使用 ssh-copy-id 将公钥记录到到远程主机上

    $ ssh-copy-id <user>@<remote-ip>
    

    一般主机中都会有 ssh-copy-id 命令,如果不存在的话,可以手动将公钥添加到远端主机中

    $ ssh <user>@<remote-ip> 'mkdir -p .ssh && cat >> .ssh/authorized_keys' < ~/.ssh/id_rsa.pub
    

    需要注意 ~/.ssh 目录的权限必须是 700~/.ssh/authorized_keys 的权限必须是 600 或者 644 ,否则会出现异常

    远程主机信任该公钥后,就不需要输入密码啦

    使用其他秘钥

    ssh 会默认使用 ~/.ssh/id_rsa~/.ssh/id_rsa.pub,如果想要使用其他的秘钥文件怎么呢

    在执行 ssh-keygen 时,会要求选择秘钥的路径,输入新的秘钥路径

    Enter file in which to save the key (/home/iceber/.ssh/id_rsa): /home/iceber/.ssh/custom_rsa
    

    ~/.ssh 中就会生成私钥custom_rsa 和公钥 custom_rsa.pub

    ssh-copy-id -i <公钥路径> <user>@<remote-ip> 将指定的公钥发送给服务端
    ssh 使用 -i <私钥路径> 来指定私钥

    禁止密码登录

    既然公钥可以登录了,有时为了安全考虑,也就不需要密码登陆了
    修改 ssh server 配置 /etc/ssh/sshd_config

    # /etc/ssh/sshd_config
    PasswordAuthentication no # 关闭密码验证
    

    配置远程主机,使用别名登录

    虽然可以免密登录的,但是每次登录还是需要配置 userremote-ip,感觉好麻烦

    ~/.ssh/config 中可以配置远程主机的信息

    # ~/.ssh/config
    Host iceber
        HostName 10.10.10.100
        User iceber
    

    可以直接使用 ssh iceber 登录了

    Host * 相当于全局配置

    还可以配置一些其他信息

    • Port <port> 远程主机的 ssh server port
    • ServerAliveInterval <seconds> client 会每隔多少秒向 server 发送一次请求,防止和服务器的连接断开
    • IdentityFile <path> 秘钥路径,rsa 的秘钥地址 (~/.ssh/id_rsa)

    端口转发

    ssh 不止能用来登录或者执行远程命令,还是用做端口转发
    ssh 的端口转发分为三种 本地转发远程转发动态转发

    在使用端口转发时,通常会使用到 -N-f 两个 flag

    • -N 表示不需要执行任何命令,用于端口转发
    • -f 表示在后台运行,不需要登录到远端主机上

    本地转发

    本地转发是指将发送到本地端口的请求发送到远端主机上

    ssh -Nf -L <本地地址>:<本地端口>:<远程主机目标地址>:<远程主机目标端口> <user>@<remote-ip>

    访问 <本地地址>:<本地端口>,数据会转发到 <remote-ip> 主机的<远程主机目标地址>:<远程主机目标端口>

    <本地地址> 可以省略,默认为 127.0.0.1

    场景

    远端主机(10.10.10.100)中运行一个 http server,但是他只监听了 localhost:8080 地址,但是我想在本地访问这个地址,该怎么办

    ssh -Nf -L 8000:127.0.0.1:8080 iceber@10.10.10.100
    

    这时通过本地 127.0.0.1:8000 就可以访问到 10.10.10.100 机器中的本地服务了

    有时 MySQL 会限制登录的 ip,这时就可以使用本地端口转发来访问了

    远程转发

    远程转发是指将发送到远端主机的请求转发到本地的目标端口

    ssh -Nf -R <远程主机地址>:<远程主机端口>:<本地目标地址>:<本地目标端口> <user>@<remote-ip>

    在本地执行 ssh 远程转发命令,访问 <远程主机地址>:<远程主机端口>时,请求会转发到本地<本地目标地址>:<本地目标端口>

    <远程主机地址>: 可以省略,默认为 127.0.0.1,可以设置为 0.0.0.0 在所有网卡上建立转发
    转发远程主机的非 localhost ip 时,需要修改 /etc/ssh/sshd_config

    # /etc/ssh/sshd_config
    GatewayPorts yes
    
    场景

    将局域网中的 ssh 通过远程主机暴露给外网
    在局域网外,我们无法通过 ssh 连接到局域网中的主机,但是如果把局域网主机中将 ssh 端口和可以外网访问的远程主机端口建立远程转发,那么就可以通过远程主机访问局域网主机了

    ssh -Nf R 10022:localhost:22 iceber@<remote-ip>
    

    将远程主机的 localhost:10022 端口接收的请求转发到本地 localhost:22 中

    这时在外网登录远程主机,然后 ssh -p 10022 @localhost 就可以登录到局域网中了

    不建议局域网中 ssh 端口直接和远程主机的外部 ip 建立端口映射

    动态转发

    动态转发会在本地监听端口,所有发送到该端口的请求都转发到远程主机中,由远程主机来执行请求

    ssh -Nf -D <本地地址>:<本地端口> <user>@<remote-ip>

    可以用来做 SOCKS5 代理,如果远程主机可以访问外网,这样通过把浏览器的代理服务器设置为 socks5://127.0.0.1:10080 就可以让远程主机来执行请求,同样可以访问到外网了

    $ ssh -Nf -D 10080 iceber@<remote-ip>
    

    其他设置

    登录日志可以通过 /var/log/secure 来查看

    配置 SSH 登录提醒

    # /etc/ssh/sshd_config
    Banner <path>
    

    可以在密码输入前会打印 <path> 中的内容

    登录后同样会有一些提示内容,这些提示内容再 /etc/update-motd.d中(ubuntu)

    ssh server 配置

    ssh server 的配置文件时 /etc/ssh/sshd_config
    常用的一些配置项:

    • Port <port> 设置ssh server 端口
    • ListenAddress 0.0.0.0 监听地址
    • PasswordAuthentication no 关闭密码验证
    • PubkeyAuthentication yes 可以使用公钥登录
    • RSAAuthentication yes 只允许RSA安全验证
    • PermitRootLogin yes 运行 root 登录
    • PermitEmptyPasswords no 不允许空密码登录
    • LoginGraceTime 2m 用户不能成功登录,2m 后断开连接
    • PrintLastLog yes 登录后打印上次登录信息
    更多相关内容
  • 错误: 解决方法: 在zookeeper安装目录中的bin目录下执行: ./zkCli.sh -server 本机ip:zookeeper端口号 1 例如: ./zkCli.sh -server localhost:2182 1 注意: 由于我在服务器本地启动zoo...

    错误:

    在这里插入图片描述

    解决方法:

    zookeeper安装目录中的bin目录下执行:

    ./zkCli.sh -server 本机ip:zookeeper端口号
    
       
    • 1

    例如:

    ./zkCli.sh -server localhost:2182
    
       
    • 1

    注意:

    由于我在服务器本地启动zookeeper,所以ip直接使用localhost就可以了,2182是我更改的zookeeper端口号

    展开全文
  • sh代码-查找局域网内可ssh登录的主机(22端口
  • 主要介绍了centos 7 修改sshd | 禁止 root登录及sshd端口脚本定义,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 用rsync对网站进行镜像备份的时候,有时候需要设置自定义端口,那么就可以参考下面的方法
  • 使用方法是通过ssh本地端口转发,通过服务器转发到vnc的5901端口,然后通过localhost:本地端口,就可以在VNC Viewer软件中使用:localhost:本地端口登陆vnc了。 1、 本地打开终端/CMD,输入下面指令: 格式 ssh -p...

    如果你在租用机器的时候忘记开启了VNC功能,你可以试试用下面的方法连接VNC。

    如果你租用服务器时,已经开启了VNC功能,可以参考这个教程矩池云使用VNC Viewer远程连接GPU主机,图形用户界面操作

    使用方法是通过ssh本地端口转发,通过服务器转发到vnc的5901端口,然后通过localhost:本地端口,就可以在VNC Viewer软件中使用:localhost:本地端口登陆vnc了。

    一、矩池云内设置vnc密码并开启vnc服务器

    1.1 租用机器页面点击jupyter lab链接

    1.2 进入jupyterlab后,点击Terminal

    在这里插入图片描述

    1.3 设置vnc密码

    在Terminal里输入下面指令:

    VNC_PASSWD="userpasswd" ./root/vnc/vnc_startup.sh
    

    在这里插入图片描述
    这里我选择的密码是userpasswd,密码很重要,自己设置一个复杂一点的密码,带入到userpasswd里面。

    输入下面指令,查看vnc进程,是否正常启动。

    ps aux | grep vnc
    

    在这里插入图片描述

    二、本地设置端口转发

    2.1 本地打开终端/CMD,输入下面指令

    • 格式
    ssh -p [sshport] -NL  [localport]:localhost:[vnc远程端口] root@hz.matpool.com
    

    sshport:矩池云机器的 SSH 端口。
    localport:您本地的任一端口。
    root@hz.matpool.com:机器租用成功后ssh上显示的用户和地址。
    在这里插入图片描述

    • 例子
    ssh -p 26289 -NL  1998:localhost:5901 root@hz.matpool.com
    

    vnc远程端口默认是5901。

    注意: 开启后需要输入远程ssh连接密码,输入后按回车键即可,不会有其他输出,是正常的,另外这个界面不要关闭,关闭后本地端口转发就会失败。

    2.2 打开VNC Viewer软件,输入:localhost:1998,然后按回车键,即可连接vnc。

    点击Continue,继续连接。

    输入自己前面在Terminal设置的vnc连接密码,点击OK


    密码填写成功后就可以进入到服务器的vnc界面啦,如下所示,默认有四个图标:垃圾篓、系统磁盘、Home文件夹、谷歌浏览器

    如果想打开Terminal或者新建文件等其他操作,可以鼠标右键,选择相应的功能按钮即可。

    如有更多问题,可以联系微信矩池云小助手。

    展开全文
  • 进入lnmp解压后的目录,执行:./pureftpd.sh 会显示如下图: 按提示输入当前MySQL的root密码,输入完成,回车确认,会提示如下信息: 这一步是设置FTP用户管理后台的登陆密码。输入完成回车确认 因为PHP管理后台...
  • #说明:SSHD服务默认监听端口是22,如果你不强制说明别的端口,”Port 22”注不注释都是开放22访问端口 portset=$1 if [ ! -z "$portset" ];then inputportlen=`echo "$portset"|sed 's/[0-9]//g'` #$portlen为空...
    #!/bin/bash
    #说明:SSHD服务默认监听端口是22,如果你不强制说明别的端口,”Port 22”注不注释都是开放22访问端口
    
    portset=$1
    if [ ! -z "$portset" ];then
    	inputportlen=`echo "$portset"|sed 's/[0-9]//g'`
    	#$portlen为空,说明输入的是一个整数
    	if [ "$inputportlen" == "" ] && [ "$portset" -gt "1" ] && [ "$portset" -lt "65535" ];then #判断用户输入是否是1-65535之间个一个整数
    		echo "--> 端口号输入正确"
    		backup_sshd_config ()
    		{
    			#获取当前日期和时间
    			dateAndTime=`date +"%Y%m%d%H%M%S"`
    			echo "--> 开始备份/etc/ssh/sshd_config文件"
    			/bin/cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$dateAndTime && echo "--> /etc/ssh/sshd_config文件备份成功" || { echo "--> /etc/ssh/sshd_config文件备份失败"; ExitCode=1; }
    			bakfile=`/bin/ls /etc/ssh | grep $dateAndTime`
    			echo "--> /etc/ssh/sshd_config文件备份结束,文件名为:$bakfile"
    		}
    		sshd_service_restart ()
    		{
    			systemver=`cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/'`
    			if [[ $systemver = "6" ]];then
    				service sshd restart && echo "--> sshd服务重启完成" || { echo "--> sshd服务重启失败"; ExitCode=1; }
    			else 
    				systemctl restart sshd.service  && echo "--> sshd服务重启完成" || { echo "--> sshd服务重启失败"; ExitCode=1; }
    			fi
    		}
    		#获取sshd运行进程ID
    		getSSHProcessID=`ps -ef | grep sshd | awk '{if($3=="1" && $8=="/usr/sbin/sshd")print $2}'`
    		if [ "$getSSHProcessID" != "" ];then #$getSSHProcessID不为空说明sshd服务启动正常
    			#获取sshd打开的端口列表
    			getSSHOpenPortList=`netstat -anop | grep $getSSHProcessID | grep ^tcp | grep LISTEN | grep -v ::: | grep sshd | awk '{print $4}' | awk -F ":" '{print $2}' | uniq | xargs echo`
    			#计算sshd打开的端口数量
    			getSSHOpenPortCount=`netstat -anop | grep $getSSHProcessID | grep -v ::: | grep sshd | grep LISTEN | awk '{print $4}' | awk -F ":" '{print $2}' | uniq | wc -l`
    			if [ "$getSSHOpenPortCount" == "1" ] && [ "$getSSHOpenPortList" == "$portset" ];then #如果当前只打开了一个端口,且与希望设置的端口相同,无需做任何配置
    				echo "sshd服务运行端口为$portset,无需修改!!!"
    				exit 0
    			elif [ "$getSSHOpenPortCount" == "1" ] && [ "$getSSHOpenPortList" == "22" ];then #如果端口为22说明使用的是默认的#Port 22设置,则增加Port设置
    				listenportlent=`netstat -ano | grep -w LISTEN | grep -w $portset`
    				if [ "$listenportlent" == "" ];then #判断端口是否被占用
    					#备份配置文件
    					backup_sshd_config
    					echo "Port $portset" >> /etc/ssh/sshd_config  && echo "--> 修改sshd运行端口为$runport成功" || { echo "--> 修改sshd运行端口为$runport失败"; ExitCode=1; }
    					#重启sshd服务
    					sshd_service_restart
    				else
    					echo "端口已经被占用,请重新输入"
    					exit 1
    				fi		
    			else #当打开了一个或多个非22,且与设置的端口不同时
    				listenportlent=`netstat -ano | grep -w LISTEN | grep -w $portset`
    				if [ "$listenportlent" == "" ];then #判断端口是否被占用
    					#备份sshd配置文件
    					backup_sshd_config
    					for sshport in $getSSHOpenPortList
    					do
    						/bin/sed -i "s/$sshport/$portset/g" /etc/ssh/sshd_config
    					done
    					#重启sshd服务
    					sshd_service_restart
    				else
    					echo "端口已经被占用,请重新输入"
    					exit 1
    				fi
    			fi
    		else
    			echo "--> sshd服务未启动"
    			exit 1
    			#尝试重启sshd服务
    			sshd_service_restart
    		fi
    	else
    		echo "--> 请输入1-65535之间的一个整数"
    		exit 1
    	fi
    else
    	echo "--> 请输入端口号"
    	exit 1
    fi
    

    将代码保存到test.sh,赋权,即可执行
    在这里插入图片描述

    展开全文
  • 端口如何查看linux的端口

    千次阅读 2021-05-11 02:56:37
    如何查看l inux的端口号如何查看li n ux的端口号篇一 lin ux查看端口的方法想查看TCP或者UDP端口使用情况使用netstat-anp如果有些进程看不见如只显示” -”可以尝试sudo netstat-anp如果想看某个端口的信息...
  • koolshare 更改管理Web页面登录端口

    千次阅读 2020-05-24 10:50:39
    由于各大运营商禁用了80端口,而且IPv6地址还没有普及,自家的koolshare路由器想要通过常规的远程web登录已经无法实现,但是更改web页面的目的端口是一个可行的方法 用SSH登录koolshare路由器 ssh root@192.168....
  • ssh 到指定端口 ssh -p xx user@ip xx 为 端口号 user为用户名 ip为要登陆的ip ssh -p xx gaozhen@xxx.xxx.xx.xxx
  • :指定zk服务器的IP与端口,zk默认的客户端端口为2181 shell > cd /usr/ local /zookeeper/bin shell > ./zkCli.sh -timeout 5000 -server 127.0 .0 .1 : 2181 若出现上图提示所示,表示已经成功连接到...
  • 1、查看端口号8080的进程 lsof -i:8080 发现进程PID为 “2200093” 2、结束进程 kill -9 2200093 3、通过ssh登录阿里云centos8,前提已经配置过ssh,@后面是服务器外网IP,然后输入服务器密码即可 ssh root@...
  • TCP、UDP 端口测试工具

    2017-11-16 16:11:12
    通过该工具可以测试本机、远程计算机端口是否开放,是否可以通过TCP、UDP协议正常访问,可以设置连接发送内容,查看返回值,验证端口访问是否正常。
  • 查看虚拟机开放端口

    千次阅读 2021-08-14 02:21:11
    查看虚拟机开放端口号 内容精选换一换Linux命令随用随记1、touch start.sh 创建文件2、chmod 777 start.sh 修改文件权限3、firewall-cmd --query-port=8848/tcp 查看端口号是否开启4、firewall-cmd --zone=public --...
  • 在做linux自动化运维的时候,服务器时常需要配置无密码的登录方式,下面就来说一下无密码登陆-------------------------方法1-------------------------1、做一个公钥,一个私钥在帐户家目录有:id_rsa(私钥) id_rsa....
  • 计算机端口可分为3大类: 1) 公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服 务的协议。例如:80端口实际上总是HTTP通讯。  2) 注册端口(Registered Ports):...
  • ESXI 6.7修改网页端口

    千次阅读 2021-02-01 03:23:31
    一、终端开启SSH功能,方便修改出错维护1.按F2进入登录界面,输入...(显示Disable为已开启,是关闭选项)二、VI编辑器修改网页端口号vi /etc/vmware/rhttpproxy/config.xml原内容80443修改后88334433三、增加防火...
  • Zookeeper客户端zkCli.sh使用

    千次阅读 2018-10-23 17:10:58
     2> -r:表示客户端以只读模式连接 3> -server:指定zk服务器的IP与端口,zk默认的客户端端口为2181 shell> cd /usr/local/zookeeper/bin shell> ./zkCli.sh -timeout 5000 -server 127.0.0.1:2181 若出现上图提示...
  • linux系统防火墙开启放行其他端口

    千次阅读 2021-01-17 15:04:14
    1、WDCP 系统端口放行:(1)3.2版本登录wdcp面板后点击“安全管理”——“防火墙设置”——“快速添加”,如图填写端口(协议默认都使用tcp),保存即可放行。(2)2.5版本登录wdcp后,点击“安全管理”——“防火墙...
  • Linux学习记录——expect实现ssh自动登陆+转发端口
  • VMWare EXSI 修改http默认访问端口80

    千次阅读 2021-04-24 12:41:03
    首先终端要开启SSH功能 1.按F2进入登录界面,输入...然后修改默认端口有以下两种方法: 一、关闭防火墙:ESXi修改默认HTTP默认80和443端口 二、不关闭防火墙:按下列7个步骤操作即可 vi /etc/vmware/rhttpproxy/con
  • 修改linux的ssh连接端口

    千次阅读 2021-07-20 11:44:01
    文章目录五、修改linux的ssh连接端口1、登录服务器,打开sshd_config文件2、修改配置文件中的端口3、保存后退出,重启sshd服务 五、修改linux的ssh连接端口 1、登录服务器,打开sshd_config文件 # vim /etc/ssh/sshd...
  • aix系统怎么查看端口是否开启

    千次阅读 2021-08-13 08:12:49
    aix系统怎么查看端口是否开启 内容精选换一换确认服务器服务是否开启。...系统的端口监听状态登录虚拟机内部。执行如下命令,查看系统的端口监听状态,如图1所示。netstat -ntplWi如果网站直接无...
  • 防火墙规则,指定ip访问mysql数据库3306端口2019年12月08日阅读数:6这篇文章主要向大家介绍防火墙规则,指定ip访问mysql数据库3306端口,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。...
  • Python自动化获取Linux服务状态与端口

    千次阅读 2021-11-27 11:18:13
    tracker端口:' + get_fdfs_trackerd() + ' ' + 'storage端口:' + get_fdfs_storaged()) elif get_fdfs_trackerd() == '': print('>>>ERROR服务运行异常,未监听到trackerd端口,storage端口:' + get_fdfs_...
  • zkCli.sh命令行常用命令

    千次阅读 2020-12-20 15:23:50
    zookeeper提供了客户端zkCli.sh脚本(window版本为zkCli.cmd)通过zkCli.sh连接zookeeper服务连接本机zookeeper服务,执行:./zkCli.sh连接远程zookeeper服务,跟上参数:./zkCli.sh -server ip:port在命令行输入:help...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 114,311
精华内容 45,724
关键字:

sh 登陆端口