61阅读

ssh远程登录linux命令-管理用SSH远程登录Linux服务器的用户的权限

发布时间:2017-10-01 所属栏目:linux服务器系统

一 : 管理用SSH远程登录Linux服务器的用户的权限

为了满足“break qiang”的需要,在国外的Linux主机上(比如 DreamHost )上建个可 ssh登录的用户,使用 ssh 的 Tunnel 来作代理是十分常见的方法。

但是主人往往又想最小化用户权限,以避免对系统造成影响。最简单的办法就是,禁止用户登录。

其实 ssh 可以连接到 sshd 但是不执行远程命令(默认是启动用户设定的 shell ),使用 -N 参数即可。

在服务器上建一个 username :
添加用户:useradd -s /bin/false username,将用户的shell设置成/bin/false。这样用户就无法与系统进行交互。
设置密码:passwd username

当然对已有的用户也可以更改用户权限为只能tcp转发:

usermod -s /bin/false USERNAME

也可以使用 /usr/bin/passwd 作为用户的 shell ,这样用户就可以通过登录而来自主修改密码。需要注意的是,需要将 /usr/bin/passwd 这一行写进 /etc/shells文件。
sshd 认证通后之后,会检查设定的 shell 是否登记在 /etc/shells 文件中,若已经登记,则fork自己,然后fork出来的子进程再exec 设定的 shell 。而 ssh 的 -N 参数,则是告诉 sshd 不需要执行 shell。

建立Tunnel:


ssh -D 1080 -qfnN username@hostname

输入密码即可使用(也可以用key认证)。

Windows的话,可以使用plink.exe或者MyEnTunnel(MyEnTunnel 本质上也是使用plink.exe来建立Tunnel)。

此时账号username 可以通过sshd的认证使用 TcpForwarding ,但是不能运行 shell,不能与系统交互。刚好可以用来为朋友提供国外的代理break qiang。

参数详解:
-D 1080 建立动态Tunnel,监听在本地1080端口。
-q 安静模式。
-f ssh在后台运行,即认证之后,ssh退居后台。
-n 将 stdio 重定向到 /dev/null,与-f配合使用。
-N 不运行远程程序。即通知 sshd 不运行设定的 shell。

二 : linux中ssh登录Permanently added (RSA) to the list of known hosts问

linux中ssh登录Permanently added (RSA) to the list of known hosts问题解决

用用户名+密码的方式登录出现以下问题:

1

[root@www]# ssh admin@xxx.xxx.xxx.xxx

2

The authenticity of host 'xxx.xxx.xxx.xxx can't be established.

3

RSA key fingerprint is f4:d0:1a:9c:09:65:78:71:25:33:79:c2:d5:aa:0b:c1.

4

Are you sure you want to continue connecting (yes/no)? no

5

Host key verification failed.

6

[root@www]#

如果是直接输入yes

1

[root@www]# ssh admin@xxx.xxx.xxx.xx

2

The authenticity of host 'xxx.xxx.xxx.xxx' can't be established.

3

RSA key fingerprint is f4:d0:1a:9c:09:65:78:71:25:33:79:c2:d5:aa:0b:c1.

4

Are you sure you want to continue connecting (yes/no)? yes

5

Warning: Permanently added 'xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.

6

Permission denied (publickey,gssapi-with-mic,password).

7

[root@www]#

一、可以把~/.ssh/known_hosts清除

二、如果还是不行

修改/etc/ssh/sshd-config文件,将其中的PermitRootLogin no修改为yes,PubkeyAuthentication yes修改为no,AuthorizedKeysFile .ssh/authorized_keys前面加上#屏蔽掉,PasswordAuthentication no修改为yes就可以了。

三、如果还是有问题,那颗一用下面的方式解决:

用命令 ssh -l username hostname

1

Are you sure you want to continue connecting (yes/no)?

1、这个是ssh安全认证是的一个RSA认证。此处必须选择yes才能连接。

第一次yes后,他会询问你是否永久把这个RSA认证加入本地,选择yes后,以后不会再出现提醒。

每次登陆只需要输入密码即可。

2、也可以不用输入1中的yes,但是需要修改本机配置。

1

/etc/ssh/ssh_config 中的

2

# StrictHostKeyChecking ask 改成

3

StrictHostKeyChecking no

三 : ssh命令linux系统远程连接linux系统的方法

ssh命令linux系统远程连接linux系统的方法

用linu(www.61k.com]x系统的ssh命令远程连接另一台linux机器的命令

#ssh 用户名@主机名(IP地址)

例如:

#ssh root@192.168.1.25意思是linux系统下用命令连接另一台机器是用root帐户连接 192.168.1.25 机器

第一次连接会提示形如下信息:(直接输入yes就可以了 )

The authenticity of host192.168.1.25(192.168.1.25)' can't be established.
RSA key fingerprint is3e:65:83:1e:c6:f8:e6:3f:95:df:ad:ce:0b:b0:93:1d.
Are you sure you want to continue connecting (yes/no)?

四 : linux下怎么查看ssh的用户登录日志

原文地址:http://tieba.baidu.com/f?kz=1103749664

linux下登录日志在下面的目录里: 
cd /var/log 
查看ssh用户的登录日志: 
less secure 
linux日志管理: 

1. 日志简介 

日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。[www.61k.com)日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。 

在Linux系统中,有三个主要的日志子系统: 

连接时间日志--由多个程序执行,把纪录写入到/var/log/wtmp和/var/run/utmp,login等程序更新wtmp和 utmp文件,使系统管理员能够跟踪谁在何时登录到系统。进程统计--由系统内核执行。当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个纪录。进程统计的目的是为系统中的基本服务提供命令使用统计。 

错误日志--由syslogd(8)执行。各种系统守护进程、用户程序和内核通过syslog(3)向文件/var/log/messages报告值得注意的事件。另外有许多UNIX程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。 常用的日志文件如下: 

access-log 纪录HTTP/web的传输 

acct/pacct 纪录用户命令 

aculog 纪录MODEM的活动 

btmp 纪录失败的纪录 

lastlog 纪录最近几次成功登录的事件和最后一次不成功的登录 

messages 从syslog中记录信息(有的链接到syslog文件) 

sudolog 纪录使用sudo发出的命令 

sulog 纪录使用su命令的使用 

syslog 从syslog中记录信息(通常链接到messages文件) 

utmp 纪录当前登录的每个用户 

wtmp 一个用户每次登录进入和退出时间的永久纪录 

xferlog 纪录FTP会话 

utmp、wtmp和lastlog日志文件是多数重用UNIX日志子系统的关键--保持用户登录进入和退出的纪录。有关当前登录用户的信息记录在文件utmp中;登录进入和退出纪录在文件wtmp中;最后一次登录文件可以用lastlog命令察看。数据交换、关机和重起也记录在wtmp文件中。所有的纪录都包含时间戳。这些文件(lastlog通常不大)在具有大量用户的系统中增长十分迅速。例如wtmp文件可以无限增长,除非定期截取。许多系统以一天或者一周为单位把wtmp配置成循环使用。它通常由cron运行的脚本来修改。这些脚本重新命名并循环使用wtmp文件。通常,wtmp在第一天结束后命名为wtmp.1;第二天后wtmp.1变为wtmp.2等等,直到wtmp. 7。 

每次有一个用户登录时,login程序在文件lastlog中察看用户的UID。如果找到了,则把用户上次登录、退出时间和主机名写到标准输出中,然后login程序在lastlog中纪录新的登录时间。在新的lastlog纪录写入后,utmp文件打开并插入用户的utmp纪录。该纪录一直用到用户登录退出时删除。utmp文件被各种命令文件使用,包括who、w、users和finger。 

下一步,login程序打开文件wtmp附加用户的utmp纪录。当用户登录退出时,具有更新时间戳的同一utmp纪录附加到文件中。wtmp文件被程序last和ac使用。 

2. 具体命令 

wtmp和utmp文件都是二进制文件,他们不能被诸如tail命令剪贴或合并(使用cat命令)。用户需要使用who、w、users、last和ac来使用这两个文件包含的信息。 

who:who命令查询utmp文件并报告当前登录的每个用户。Who的缺省输出包括用户名、终端类型、登录日期及远程主机。例如:who(回车)显示 

chyang pts/o Aug 18 15:06 

ynguo pts/2 Aug 18 15:32 

ynguo pts/3 Aug 18 13:55 

lewis pts/4 Aug 18 13:35 

ynguo pts/7 Aug 18 14:12 

ylou pts/8 Aug 18 14:15 

如果指明了wtmp文件名,则who命令查询所有以前的纪录。命令who /var/log/wtmp把报告自从wtmp文件创建或删改以来的每一次登录。 

w:w命令查询utmp文件并显示当前系统中每个用户和它所运行的进程信息。例如:w(回车)显示:3:36pm up 1 day, 22:34, 6 users, load average: 0.23, 0.29, 0.27 

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT 

chyang pts/0 202.38.68.242 3:06pm 2:04 0.08s 0.04s -bash 

ynguo pts/2 202.38.79.47 3:32pm 0.00s 0.14s 0.05 w 

lewis pts/3 202.38.64.233 1:55pm 30:39 0.27s 0.22s -bash 

lewis pts/4 202.38.64.233 1:35pm 6.00s 4.03s 0.01s sh/home/users/ 

ynguo pts/7 simba.nic.ustc.e 2:12pm 0.00s 0.47s 0.24s telnet mail 

ylou pts/8 202.38.64.235 2:15pm 1:09m 0.10s 0.04s -bash 

users:users用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名把显示相同的次数。例如:users(回车)显示:chyang lewis lewis ylou ynguo ynguo 

last:last命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户。例如: 

chyang pts/9 202.38.68.242 Tue Aug 1 08:34 - 11:23 (02:49) 

cfan pts/6 202.38.64.224 Tue Aug 1 08:33 - 08:48 (00:14) 

chyang pts/4 202.38.68.242 Tue Aug 1 08:32 - 12:13 (03:40) 

lewis pts/3 202.38.64.233 Tue Aug 1 08:06 - 11:09 (03:03) 

lewis pts/2 202.38.64.233 Tue Aug 1 07:56 - 11:09 (03:12) 


linux查看日志: 
# cd /var/log 
# less secure 
或者 
# less messages 
最近登录的日志: 
# last 

五 : Linux系统SSH免密码登陆远程服务器的技巧

搭建Hadoop环境需要设置无密码登陆,所谓无密码登陆其实是指通过证书认证的方式登陆,使用一种被称为"公私钥"认证的方式来进行ssh登录。在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法.该工具做linux系统的远程管理是非常安全的。telnet,因为其不安全性,在linux系统中被搁置使用了。

" 公私钥"认证方式简单的解释:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)。然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。

1、确认系统已经安装了SSH。

rpm –qa | grep openssh

rpm –qa | grep rsync

-->出现如下图的信息表示已安装

假设没有安装ssh和rsync,可以通过下面命令进行安装。

yum install ssh -->安装SSH协议

yum install rsync -->rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件

service sshd restart -->启动服务

2、生成秘钥对

ssh-keygen –t rsa –P ''  -->直接回车生成的密钥对:id_rsa和id_rsa.pub默认存储在"/home/hadoop/.ssh"目录下。

3、把id_rsa.pub追加到授权的key里面去。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

4、修改授权key的权限

chmod 600 ~/.ssh/authorized_keys

5、修改SSH配置文件

su -  -->登陆root用户修改配置文件

vim /etc/ssh/sshd_config -->去掉下图中三行的注释

6、测试连接

service sshd restart -->重启ssh服务,

exit   -->退出root用户,回到普通用户

ssh localhost -->连接普通用户测试

这只是配置好了单机环境上的SSH服务,要远程连接其它的服务器,接着看下面。

7、现在秘钥对已经生成好了,客户端SSH服务也已经配置好了,现在就把我们的钥匙(公钥)送给服务器。

scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/  -->将公钥复制到远程服务器的~/目录下

如: scp ~/.ssh/id_rsa.pub hadoop@192.168.1.134:~/

可以看到我们复制的时候需要我们输入服务器的密码,等我们把SSH配置好之后这些步骤就可以不用输入密码了。

8、

上一步把公钥发送到192.168.1.134服务器上去了,我们去134机器上把公钥追加到授权key中去。

注意:如果是第一次运行SSH,那么.ssh目录需要手动创建,或者使用命令ssh-keygen -t rsa生成秘钥,它会自动在用户目录下生成.ssh目录。特别注意的是.ssh目录的权限问题,记得运行下chmod 700 .ssh命令

在134机器上使用命令:cat ~/id_rsa.pub >> ~/.ssh/authorized_keys  -->追加公钥到授权key中rm ~/id_rsa.pub  -->保险起见,删除公钥同样在134机器上重复第四步和第五步,service sshd restart  --

上一步把公钥发送到192.168.1.134服务器上去了,我们去134机器上把公钥追加到授权key中去。

注意:如果是第一次运行SSH,那么.ssh目录需要手动创建,或者使用命令ssh-keygen -t rsa生成秘钥,它会自动在用户目录下生成.ssh目录。特别注意的是.ssh目录的权限问题,记得运行下chmod 700 .ssh命令

在134机器上使用命令:cat ~/id_rsa.pub >> ~/.ssh/authorized_keys  -->追加公钥到授权key中rm ~/id_rsa.pub  -->保险起见,删除公钥同样在134机器上重复第四步和第五步,service sshd restart  -->重启ssh服务

>重启ssh服务

9、

回到客户机来,输入:ssh 192.168.1.134   -->应该就能直接连接服务器咯。
回到客户机来,输入:ssh 192.168.1.134   -->应该就能直接连接服务器咯。

相关推荐:

LINUX系统怎么使用命令清理磁盘空间?

linux常怎么使用命令创建文件和文件夹?

Linux怎么配置双机SSH互相信任实现免密码登录?

本文标题:ssh远程登录linux命令-管理用SSH远程登录Linux服务器的用户的权限
本文地址: http://www.61k.com/1082909.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1