UBUNTU下如何开启SSHD服务
sudo apt-get install openssh-server
Ubuntu缺省安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可。
然后确认sshserver是否启动了:
ps -e |grep ssh
如果只有ssh-agent那ssh-server还没有启动,需要/etc/initd/ssh start,如果看到sshd那说明ssh-server已经启动了。
ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后重启SSH服务:
sudo /etc/initd/ssh resar
ssh连接:ssh linuxidc@19216811
1 首先在服务器上安装ssh的服务器端。
$ sudo aptitude install openssh-server
2 启动ssh-server。
$ /etc/initd/ssh restart
3 确认ssh-server已经正常工作。
$ netstat -tlp
tcp6 0 0 :ssh : LISTEN -
看到上面这一行输出说明ssh-server已经在运行了。
4 在客户端通过ssh登录服务器。假设服务器的IP地址是1921680103,登录的用户名是hyx。
$ ssh -l hyx 1921680103
接下来会提示输入密码,然后就能成功登录到服务器上了
LinuxSuse93如何配置ssh服务?
suselinux查看ssh服务的方法查询安装SSH服务1登陆linux系统,打开终端命令。输入rpm-qa|grepssh查找当前系统是否已经安装2如果没有安装SSH软件包,可以通过yum或rpm安装包进行安装(具体就不截图了)启动SSH服务2安装好了之后,就开启ssh服务。Ssh服务一般叫做SSHD命令行输入servicesshdstart可以启动或者使用/etc/initd/sshdstart配置查看SSHD端口3查看或编辑SSH服务配置文件,如vi/etc/ssh/sshdconfig如果要修改端口,把port后面默认的22端口改成别的端口即可(注意前面的#号要去掉)远程连接SSH4如果需要远程连接SSH,需要把22端口在防火墙上开放。关闭防火墙,或者设置22端口例外
如何配置ssh客户端,怎么ssh连接Linux服务器?
在Linuxe服务器上开启远程和端口。内网的话直接用地址加端口即可连接。外网需要做端口映射。
1开启ssh(secureshell)服务(我的是linuxubuntu1010),当然在开启ssh服务之前,需要下载相关得软件,使用下面得命令即可:sudoapt-getinstallssh然后进入/etc/initd输入命令:sudoservicesshstart开启ssh服务使用netstat-tln查看ssh服务是否已经打开(ssh服务默认使用22端口)若要关闭ssh服务时,使用:sudoservicesshstop即可关闭ssh服务
2在客户端(widnows主机)上下载ssh客户端putty,填写linux服务器ip,sessionname然后保存,打开,输入用户名,和密码,那么就登录成功了
在Linux系统下使用SSH实现端口映射的方法?
从技术角度来分析,几个要求:
1、从安全方面看,sftp会更安全一点
2、线上服务器提供在线服务,对用户需要控制,只能让用户在自己的home目录下活动
3、用户只能使用sftp,不能ssh到机器进行操作
提供sftp服务,可以用系统自带的internal-sftp,也可以使用vsftpd,这里需求不多,直接选用internal-sftp。
限制用户只能在自己的home目录下活动,这里需要使用到chroot,openssh48p1以后都支持chroot,我现在用的是centos63,自带的openssh已经是53p1,足够了。
可以输入:
#ssh-v
来查看openssh的版本,如果低于48p1,需要自行升级安装,不在这里具体介绍了。
假设,有一个名为sftp的组,这个组中的用户只能使用sftp,不能使用ssh,且sftp登录后只能在自己的home目录下活动
1、创建sftp组
#groupaddsftp
2、创建一个sftp用户,名为mysftp
#useradd-gsftp-s/bin/falsemysftp
#passwdmysftp
3、sftp组的用户的home目录统一指定到/data/sftp下,按用户名区分,这里先新建一个mysftp目录,然后指定mysftp的home为/data/sftp/mysftp
#mkdir-p/data/sftp/mysftp
#usermod-d/data/sftp/mysftpmysftp
4、配置sshd_config
编辑/etc/ssh/sshd_config
#vim+132/etc/ssh/sshd_config
找到如下这行,并注释掉
subsystemsftp/usr/libexec/openssh/sftp-server
添加如下几行
subsystemsftpinternal-sftp
matchgroupsftp
chrootdirectory/data/sftp/%u
forcecommandinternal-sftp
allowtcpforwardingno
x11forwardingno
解释一下添加的几行的意思
subsystemsftpinternal-sftp
这行指定使用sftp服务使用系统自带的internal-sftp
matchgroupsftp
这行用来匹配sftp组的用户,如果要匹配多个组,多个组之间用逗号分割
当然,也可以匹配用户
matchusermysftp
这样就可以匹配用户了,多个用户名之间也是用逗号分割,但我们这里按组匹配更灵活和方便
chrootdirectory/data/sftp/%u
用chroot将用户的根目录指定到/data/sftp/%u,%u代表用户名,这样用户就只能在/data/sftp/%u下活动,chroot的含义,可以参考这里:http://wwwibmcom/developerworks/cn/linux/l-cn-chroot/
forcecommandinternal-sftp
指定sftp命令
allowtcpforwardingno
x11forwardingno
这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
5、设定chroot目录权限
#chownroot:sftp/data/sftp/mysftp
#chmod755/data/sftp/mysftp
错误的目录权限设定会导致在log中出现”fatal:badownershipormodesforchrootdirectoryxxxxxx”的内容
目录的权限设定有两个要点:
1、由chrootdirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root
2、由chrootdirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限
所以遵循以上两个原则
1)我们将/data/sftp/mysftp的所有者设置为了root,所有组设置为sftp
2)我们将/data/sftp/mysftp的权限设置为755,所有者root有写入权限,而所有组sftp无写入权限
6、建立sftp用户登入后可写入的目录
照上面设置后,在重启sshd服务后,用户mysftp已经可以登录,但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供mysftp上传文件。这个目录所有者为mysftp,所有组为sftp,所有者有写入权限,而所有组无写入权限
#mkdir/data/sftp/mysftp/upload
#chownmysftp:sftp/data/sftp/mysftp/upload
#chmod755/data/sftp/mysftp/upload
7、重启sshd服务
#servicesshdrestart
到这里,mysftp已经可以通过sftp客户端登录并可以上传文件到upload目录。
如果还是不能在此目录下上传文件,提示没有权限,检查selinux是否关闭,可以使用如下指令关闭selinux
修改/etc/selinux/config文件中的selinux=""为disabled,然后重启。或者
#setenforce0
Linux服务器之间怎么样SSH不需密码?
ssh-keygen可以用来生成private和public密钥将生成的public密钥拷贝到远程机器后,可以使ssh到另外一台机器的登陆不用密码具体方法如下
1)在本地机器中的~/ssh/目录下执行下命令,ssh-keygen-tdsa将生成两个文件,id_dsa和id_dsapub
2)将id_dsapub拷贝到远程机器,并且将id_dsapub的内容添加到~/ssh/authorized_keys中catid_dsapub>>authorized_keys注意:目录ssh和文件authorized_keys的权限必须是600完成这些工作后,用户从本地机器到远程机器的登录就不用密码了
linux如何修改默认SSH端口?
ssh服务器软件配置文件在/etc/ssh/目录下步骤如下1进入到此目录#cd/etc/ssh2编辑其配置文件sshd_config#vimsshd_config3在里边找到一行#Port22此行很靠前,几乎就在文件的开头处不远,将此行的#号去掉然后就是后边加你想要改成为的端口号我这里就改成了2343Port23434重新启动sshd服务#servicdsshdrestart5到此ssh端口更改为2343注意连接ssh时要相应更改端口号如ssh192168111222343
1、 centos7 环境下,安装docker后服务器断开ssh连接
原因及处理方法1 : 通过ip addr 命令查看 docker0 的ip段是否同当前主机的网络内外网段是否相同
如果相同,修改/etc/docker目录下daemonjson文件里面添加如下内容:
{
"bip": "1921682001/24"
}
然后进行重启:
sudo systemctl daemon-reload
sudo systemctl restart dockerservice
原因及处理方法2: 内核和版本不匹配
a) 通过uname -r 查看内核版本,从docker官网上查看对应的日志信息,对比安装相应版本docker
b) 或者通过升级系统内核,重新安装docker处理 服务器-centos7 内核升级 -
直接使用Linux系 统的root帐户登录系统,在很多环境下是不允许。而且如果网络中的所有机器都能使用ssh登录关键服务器也是不允许的。这就要求我们需要使用一些手段, 现在root帐号的登录,而且是只有指定的几台机器才能登录。当然限制登录的ip这些通过网络设备也恩那个完成。但是我们只需要了解怎么使用系统自己的功 能实现,这是每一个系统管理员都比较了解的。
1,修改ssh的配置文件,是root用户只能通过本地登录,不能通过远程ssh连接服务器。
vim /etc/ssh/sshd_config,
把#PermitRootLogin yes改成
PermitRootLogin no,然后重启ssh服务器,root用户就不能通过ssh远程登录系统了,只能通过一个普通帐号su或者本地登录。
2,可以同修改其他系统配置文件,使之能通过几个指定的IP远程ssh登录服务器。把下面这段放到root的bash_profile文件中
ALLOWHOSTSLIST="1921681631"
REMOTEHOST=$(env | grep SSH_CLIENT | awk '{print $1}' | awk -F "=" '{print $2}')
if echo "${ALLOWHOSTSLIST}" | grep "${REMOTEHOST}" > /dev/null
then :
else
exit
fi
结果就只能通过IP地址是1921681631这台服务器通过ssh远程连接本服务器了。
3,可以把需要ssh远程服务器的IP地址添加到/etc/hostsallow,例如下面的操作:
sshd:1921681631:allow #只允许这个IP地址ssh登录
sshd:192168163:allow #允许这个网段的所有IP地址ssh登录
sshd:all:deny #拒绝所有没有出现在上面的IP地址的ssh连接
4,也可以使用iptables指定能够远程ssh到服务器的IP地址
iptables -A INPUT -p tcp --dport 22 -s 1921681631 -j ACCEPT #允许这个IP地址ssh连接本服务器
iptables -A INPUT -p tcp --dport 22 -s 1921681630/24 -j ACCEPT #允许这个网段的所有IP远程ssh连接本服务器
iptables -A INPUT -p tcp --dport 22 -j DROP #除了上面允许的IP地址外,都拒绝使用ssh连接到服务器
0条评论