Linux之登陆问题

今天早上在使用Linux的时候进入终端输入startx,然后退出图形界面,进入了命令模式,可能是ubuntu14.04的问题,不知怎么就没有响应,我就强行重启了一下操作系统,然后进去发现在使用管理员账号登录时一直是重复登录,怎么都进不去,网上关于这方面的资料还是很多的,给出的方法也是很多。

1、环境变量问题,进入tty1 或者 tty2 然后 sudo vim profile 或者 environment,将 环境变量还原即可。但我的问题并非出于此。
2、初始化文件问题:删除.Xauthority , Xinit 等初始文件 并重启。我的问题也不在于此。
3、/home权限问题:直接将/home  chmod 成 777的权限。不过我的还是无效。
4、/tmp权限问题:我的问题就在于此,首选还是那句话,学会找到日志文件,学会分析日志文件,cd 到 /home/user 里面,然后你会发现一个 启动X组件相关的日志文件:
.xsession-errors文件,打开这个文件发现有以下错误: mkdtemp: private socket dir: Permission denied,可以知道在读写/tmp文件时 遇到权限问题而读写失败,所以 直接chmod 777 /tmp 后 然后 重启 就能进入桌面系统了。

5.ctrl+alt+f1 ,切换到tty1,输入管理员帐号和密码
   sudo rm -r .Xauthority*
   sudo reboot   //重启
   ok

下面就说一下关于.Xauthority:startx的脚本文件(资料来源于百度):

        Xserver 启动时,读文件~/.Xauthority,读入对应其display的记录.当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文 件,并把找到的magic code 发送给Xserver.当Xserver验证这个magic code正确以后,就同意连接啦.
        观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证。

解决:
   Ctrl+Alt+F1~F6,都可以进入命令行模式,分别为 tty1~tty6。
      注:Ctrl+Alt+F7 就是窗口模式。
  
    使用用户名和密码进入。
  
   sudo==/usr/bin/sudo
    vi==/usr/bin/bi
    去掉三个文件中给PATH增加的 /home/sjjz/android-sdk-linux_86/tools 路径
    whereis=/usr/bin/whereis
    cat==//bincat
    mv==/bin/mv
    ls==/bin/ls
    bash==/bin/bash
    重启:
   /usr/bin/sudo /sbin/reboot
2.修改了profile文件
解决:
利用Alt+Ctrl+Shift+F1进入命令行模式, 以root的身份更改了/etc/profile文件, 这个文件我昨天在配置JDK运行环境的时候对其进行了修改, 现在又将内容改了回来,终于可以正常进入了。
3.修改了environment
解决:
/usr/lib/sudo /usr/lib/vi /etc/environment,然后将光标移动到PATH=$PATH:/home/user1/program/androidSDK/tools 这一行,按两次D,即DD就删除了着一样,
再输入命令
4.认证的问题
解决:
今天无缘无故登录不了系统 在登录界面输入正确密码后 黑屏一闪后又跳转到登录界面
黑屏出现的时间太短 经过多次查看发现 卡在check battery state
解决方法:
  sudo rm -r .Xauthority*
当然,还有其他的原因,我尝试了以上几种方法都没成功,后来看到有一个博客,简单说到这个问题的本质是开机时,系统会读入/home文件夹下的一些初始化文件,如果找不到这些文件就会出错,出现之前说明的症状。结合我之前看到的一些解决方法,我认为可能是home的权限受到更改,导致非root用户无法读取/home目录下的初始化文件造成的。

### Linux SSH 登录教程及配置方法 #### 一、SSH 基础概念 Secure Shell (SSH) 是一种网络协议,用于安全地访问远程计算机。它提供了加密通信通道,确保数据传输的安全性[^1]。 #### 二、SSH 客户端与服务端 为了实现通过 SSH 进行免密码登录,需要分别在客户端和服务端完成相应的配置。以下是具体的操作流程: 1. **确认 OpenSSH 已安装** - 大多数现代 Linux 发行版默认已预装 `openssh-client` 和 `openssh-server`。如果未安装,可以通过以下命令安装: ```bash sudo apt-get update sudo apt-get -y install openssh-server ``` 此外,还需要启动并设置 SSH 服务开机自启: ```bash sudo systemctl start ssh sudo systemctl enable ssh ``` 2. **生成密钥对** - 使用 `ssh-keygen` 命令生成 RSA 密钥对,默认存储路径为 `~/.ssh/id_rsa` 及其对应的公钥文件 `id_rsa.pub`。 ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 上述命令会提示指定保存位置以及设置密码(可选)。完成后会在用户的 `.ssh` 文件夹下生成私钥和公钥文件[^2]。 3. **复制公钥至目标主机** - 将本地机器上的公钥拷贝到目标服务器上,通常使用 `ssh-copy-id` 命令简化操作过程: ```bash ssh-copy-id user@remote_host ``` 如果无法直接运行该工具或者希望手动执行此步骤,则需将公钥内容追加到目标主机的 `~/.ssh/authorized_keys` 文件中: ```bash cat ~/.ssh/id_rsa.pub | ssh user@remote_host "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys" ``` 4. **验证无密码登录功能** - 配置完毕后尝试不带密码的方式连接远程主机: ```bash ssh user@remote_host ``` 成功进入即表明配置正确[^3]。 5. **调整 SSHD 配置参数(可选)** - 编辑 `/etc/ssh/sshd_config` 文件来进一步优化安全性或行为特性。例如禁用基于密码的身份验证以强制仅允许密钥认证: ```bash PasswordAuthentication no PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys ChallengeResponseAuthentication no UsePAM no ``` 修改之后记得重启 SSH 服务使更改生效: ```bash sudo systemctl restart sshd ``` #### 三、其他注意事项 - 确保防火墙规则允许 TCP 流量经过标准 SSH 端口(通常是22),必要开放相应端口号。 - 对于高敏感环境下的生产系统来说,建议定期轮换使用的密钥材料,并妥善保管好私人部分以防泄露风险[^4]。 ```python print("SSH configuration completed successfully.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值